[hibernate-commits] Hibernate SVN: r10594 - in branches/Branch_3_2/Hibernate3/test/org/hibernate/test: . any
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Oct 17 17:17:41 EDT 2006
Author: steve.ebersole at jboss.com
Date: 2006-10-17 17:17:39 -0400 (Tue, 17 Oct 2006)
New Revision: 10594
Added:
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Address.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/AnyTypeTest.java
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.hbm.xml
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.java
Modified:
branches/Branch_3_2/Hibernate3/test/org/hibernate/test/AllTests.java
Log:
HHH-1663 : <any/> mappings during flush
Modified: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/AllTests.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/AllTests.java 2006-10-17 21:16:52 UTC (rev 10593)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/AllTests.java 2006-10-17 21:17:39 UTC (rev 10594)
@@ -131,6 +131,7 @@
import org.hibernate.test.version.db.DbVersionTest;
import org.hibernate.test.version.sybase.SybaseTimestampVersioningTest;
import org.hibernate.test.where.WhereTest;
+import org.hibernate.test.any.AnyTypeTest;
/**
* @author Gavin King
@@ -291,6 +292,7 @@
suite.addTest( AbstractComponentPropertyRefTest.suite() );
suite.addTest( AbstractCompositeIdTest.suite() );
suite.addTest( UtilSuite.suite() );
+ suite.addTest(AnyTypeTest.suite() );
return filter( suite );
//return suite;
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Address.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Address.java 2006-10-17 21:16:52 UTC (rev 10593)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Address.java 2006-10-17 21:17:39 UTC (rev 10594)
@@ -0,0 +1,30 @@
+package org.hibernate.test.any;
+
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * todo: describe Address
+ *
+ * @author Steve Ebersole
+ */
+public class Address {
+ private Long id;
+ private Set lines = new HashSet();
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Set getLines() {
+ return lines;
+ }
+
+ public void setLines(Set lines) {
+ this.lines = lines;
+ }
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/AnyTypeTest.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/AnyTypeTest.java 2006-10-17 21:16:52 UTC (rev 10593)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/AnyTypeTest.java 2006-10-17 21:17:39 UTC (rev 10594)
@@ -0,0 +1,58 @@
+package org.hibernate.test.any;
+
+import org.hibernate.test.TestCase;
+import org.hibernate.Session;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * todo: describe AnyTypeTest
+ *
+ * @author Steve Ebersole
+ */
+public class AnyTypeTest extends TestCase {
+ public AnyTypeTest(String name) {
+ super( name );
+ }
+
+ protected String[] getMappings() {
+ return new String[] { "any/Person.hbm.xml" };
+ }
+
+ protected String getCacheConcurrencyStrategy() {
+ // having second level cache causes a condition whereby the original test case would not fail...
+ return null;
+ }
+
+ public static Test suite() {
+ return new TestSuite( AnyTypeTest.class );
+ }
+
+ /**
+ * Specific test for HHH-1663...
+ */
+ public void testFlushProcessing() {
+ Session session = openSession();
+ session.beginTransaction();
+ Person person = new Person();
+ Address address = new Address();
+ person.setData( address );
+ session.saveOrUpdate(person);
+ session.saveOrUpdate(address);
+ session.getTransaction().commit();
+ session.close();
+
+ session = openSession();
+ session.beginTransaction();
+ person = (Person) session.load( Person.class, person.getId() );
+ person.setName("makingpersondirty");
+ session.getTransaction().commit();
+ session.close();
+
+ session = openSession();
+ session.beginTransaction();
+ session.delete( person );
+ session.getTransaction().commit();
+ session.close();
+ }
+}
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.hbm.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.hbm.xml 2006-10-17 21:16:52 UTC (rev 10593)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.hbm.xml 2006-10-17 21:17:39 UTC (rev 10594)
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="org.hibernate.test.any">
+
+ <class name="Person" table="T_ANY_PERSON">
+ <id name="id" column="ID_">
+ <generator class="increment" />
+ </id>
+ <property name="name" />
+ <any name="data" id-type="long" cascade="none">
+ <meta-value value="A" class="Address"/>
+ <column name="DATATYPE_"/>
+ <column name="DATAID_"/>
+ </any>
+ </class>
+
+ <class name="Address" table="T_ANY_ADDRESS">
+ <id name="id" column="ID_">
+ <generator class="increment" />
+ </id>
+ <set name="lines" table="LINE">
+ <key column="ADDRESS" />
+ <element type="string" />
+ </set>
+ </class>
+
+</hibernate-mapping>
Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.java
===================================================================
--- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.java 2006-10-17 21:16:52 UTC (rev 10593)
+++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/any/Person.java 2006-10-17 21:17:39 UTC (rev 10594)
@@ -0,0 +1,37 @@
+package org.hibernate.test.any;
+
+/**
+ * todo: describe Person
+ *
+ * @author Steve Ebersole
+ */
+public class Person {
+ private Long id;
+ private String name;
+ private Object data;
+
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+}
More information about the hibernate-commits
mailing list