[hibernate-commits] Hibernate SVN: r15673 - in core/branches/Branch_3_2: test/org/hibernate/test/collection/original and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Dec 9 20:40:38 EST 2008


Author: cbredesen
Date: 2008-12-09 20:40:38 -0500 (Tue, 09 Dec 2008)
New Revision: 15673

Added:
   core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Animal.java
   core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Mammal.java
   core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.hbm.xml
   core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.java
Modified:
   core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.java
   core/branches/Branch_3_2/test/org/hibernate/test/collection/original/CollectionTest.java
Log:
HHH-3636 test case + fix

Modified: core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.java
===================================================================
--- core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.java	2008-12-09 22:22:03 UTC (rev 15672)
+++ core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.java	2008-12-10 01:40:38 UTC (rev 15673)
@@ -2841,8 +2841,8 @@
 		String[] columnAliases = getSubclassColumnAliasClosure();
 		String[] columns = getSubclassColumnClosure();
 		for ( int i = 0; i < subclassColumnNumbers.length; i++ ) {
-			if ( subclassColumnSelectableClosure[i] ) {
-				int columnNumber = subclassColumnNumbers[i];
+			int columnNumber = subclassColumnNumbers[i];
+			if ( subclassColumnSelectableClosure[columnNumber] ) {
 				final String subalias = generateTableAlias( getRootAlias(), columnTableNumbers[columnNumber] );
 				selectFragment.addColumn( subalias, columns[columnNumber], columnAliases[columnNumber] );
 			}

Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Animal.java
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Animal.java	                        (rev 0)
+++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Animal.java	2008-12-10 01:40:38 UTC (rev 15673)
@@ -0,0 +1,33 @@
+package org.hibernate.test.collection.original;
+
+public class Animal {
+    long id;
+    String name;
+    boolean boolvar;
+    Zoo zoo;
+
+    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 boolean isBoolvar() {
+		return boolvar;
+	}
+	public void setBoolvar(boolean boolvar) {
+		this.boolvar = boolvar;
+	}
+	public Zoo getZoo() {
+		return zoo;
+	}
+	public void setZoo(Zoo zoo) {
+		this.zoo = zoo;
+	}
+}

Modified: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/CollectionTest.java
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/CollectionTest.java	2008-12-09 22:22:03 UTC (rev 15672)
+++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/CollectionTest.java	2008-12-10 01:40:38 UTC (rev 15673)
@@ -1,228 +1,249 @@
-//$Id: CollectionTest.java 7628 2005-07-24 06:55:01Z oneovthafew $
-package org.hibernate.test.collection.original;
-
-import java.sql.SQLException;
-
-import junit.framework.Test;
-
-import org.hibernate.Hibernate;
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.hibernate.junit.functional.FunctionalTestCase;
-import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
-
-/**
- * @author Gavin King
- */
-public class CollectionTest extends FunctionalTestCase {
-
-	public CollectionTest(String str) {
-		super( str );
-	}
-
-	public String[] getMappings() {
-		return new String[] { "collection/original/UserPermissions.hbm.xml" };
-	}
-
-	public static Test suite() {
-		return new FunctionalTestClassTestSuite( CollectionTest.class );
-	}
-
-	public void testExtraLazy() throws HibernateException, SQLException {
-		Session s = openSession();
-		Transaction t = s.beginTransaction();
-		User u = new User( "gavin" );
-		u.getPermissions().add( new Permission( "obnoxiousness" ) );
-		u.getPermissions().add( new Permission( "pigheadedness" ) );
-		u.getSessionData().put( "foo", "foo value" );
-		s.persist( u );
-		t.commit();
-		s.close();
-		s = openSession();
-		t = s.beginTransaction();
-		u = ( User ) s.get( User.class, "gavin" );
-
-		assertFalse( Hibernate.isInitialized( u.getPermissions() ) );
-		assertEquals( u.getPermissions().size(), 2 );
-		assertTrue( u.getPermissions().contains( new Permission( "obnoxiousness" ) ) );
-		assertFalse( u.getPermissions().contains( new Permission( "silliness" ) ) );
-		assertNotNull( u.getPermissions().get( 1 ) );
-		assertNull( u.getPermissions().get( 3 ) );
-		assertFalse( Hibernate.isInitialized( u.getPermissions() ) );
-
-		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
-		assertEquals( u.getSessionData().size(), 1 );
-		assertTrue( u.getSessionData().containsKey( "foo" ) );
-		assertFalse( u.getSessionData().containsKey( "bar" ) );
-		assertTrue( u.getSessionData().containsValue( "foo value" ) );
-		assertFalse( u.getSessionData().containsValue( "bar" ) );
-		assertEquals( "foo value", u.getSessionData().get( "foo" ) );
-		assertNull( u.getSessionData().get( "bar" ) );
-		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
-
-		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
-		u.getSessionData().put( "bar", "bar value" );
-		u.getSessionAttributeNames().add( "bar" );
-		assertFalse( Hibernate.isInitialized( u.getSessionAttributeNames() ) );
-		assertTrue( Hibernate.isInitialized( u.getSessionData() ) );
-
-		s.delete( u );
-		t.commit();
-		s.close();
-	}
-
-	public void testMerge() throws HibernateException, SQLException {
-		Session s = openSession();
-		Transaction t = s.beginTransaction();
-		User u = new User( "gavin" );
-		u.getPermissions().add( new Permission( "obnoxiousness" ) );
-		u.getPermissions().add( new Permission( "pigheadedness" ) );
-		s.persist( u );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
-		u2.setPermissions( null ); //forces one shot delete
-		s.merge( u );
-		t.commit();
-		s.close();
-
-		u.getPermissions().add( new Permission( "silliness" ) );
-
-		s = openSession();
-		t = s.beginTransaction();
-		s.merge( u );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
-		assertEquals( u2.getPermissions().size(), 3 );
-		assertEquals( ( ( Permission ) u2.getPermissions().get( 0 ) ).getType(), "obnoxiousness" );
-		assertEquals( ( ( Permission ) u2.getPermissions().get( 2 ) ).getType(), "silliness" );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		s.delete( u2 );
-		s.flush();
-		t.commit();
-		s.close();
-
-	}
-
-	public void testFetch() {
-		Session s = openSession();
-		Transaction t = s.beginTransaction();
-		User u = new User( "gavin" );
-		u.getPermissions().add( new Permission( "obnoxiousness" ) );
-		u.getPermissions().add( new Permission( "pigheadedness" ) );
-		u.getEmailAddresses().add( new Email( "gavin at hibernate.org" ) );
-		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
-		s.persist( u );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
-		assertTrue( Hibernate.isInitialized( u2.getEmailAddresses() ) );
-		assertFalse( Hibernate.isInitialized( u2.getPermissions() ) );
-		assertEquals( u2.getEmailAddresses().size(), 2 );
-		s.delete( u2 );
-		t.commit();
-		s.close();
-	}
-
-	public void testUpdateOrder() {
-		Session s = openSession();
-		Transaction t = s.beginTransaction();
-		User u = new User( "gavin" );
-		u.getSessionData().put( "foo", "foo value" );
-		u.getSessionData().put( "bar", "bar value" );
-		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
-		u.getEmailAddresses().add( new Email( "gavin at hibernate.org" ) );
-		u.getEmailAddresses().add( new Email( "gavin at illflow.com" ) );
-		u.getEmailAddresses().add( new Email( "gavin at nospam.com" ) );
-		s.persist( u );
-		t.commit();
-		s.close();
-
-		u.getSessionData().clear();
-		u.getSessionData().put( "baz", "baz value" );
-		u.getSessionData().put( "bar", "bar value" );
-		u.getEmailAddresses().remove( 0 );
-		u.getEmailAddresses().remove( 2 );
-
-		s = openSession();
-		t = s.beginTransaction();
-		s.update( u );
-		t.commit();
-		s.close();
-
-		u.getSessionData().clear();
-		u.getEmailAddresses().add( 0, new Email( "gavin at nospam.com" ) );
-		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
-
-		s = openSession();
-		t = s.beginTransaction();
-		s.update( u );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		s.delete( u );
-		t.commit();
-		s.close();
-
-	}
-
-	public void testValueMap() {
-		Session s = openSession();
-		Transaction t = s.beginTransaction();
-		User u = new User( "gavin" );
-		u.getSessionData().put( "foo", "foo value" );
-		u.getSessionData().put( "bar", null );
-		u.getEmailAddresses().add( null );
-		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
-		u.getEmailAddresses().add( null );
-		u.getEmailAddresses().add( null );
-		s.persist( u );
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
-		assertFalse( Hibernate.isInitialized( u2.getSessionData() ) );
-		assertEquals( u2.getSessionData().size(), 1 );
-		assertEquals( u2.getEmailAddresses().size(), 2 );
-		u2.getSessionData().put( "foo", "new foo value" );
-		u2.getEmailAddresses().set( 1, new Email( "gavin at hibernate.org" ) );
-		//u2.getEmailAddresses().remove(3);
-		//u2.getEmailAddresses().remove(2);
-		t.commit();
-		s.close();
-
-		s = openSession();
-		t = s.beginTransaction();
-		u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
-		assertFalse( Hibernate.isInitialized( u2.getSessionData() ) );
-		assertEquals( u2.getSessionData().size(), 1 );
-		assertEquals( u2.getEmailAddresses().size(), 2 );
-		assertEquals( u2.getSessionData().get( "foo" ), "new foo value" );
-		assertEquals( ( ( Email ) u2.getEmailAddresses().get( 1 ) ).getAddress(), "gavin at hibernate.org" );
-		s.delete( u2 );
-		t.commit();
-		s.close();
-	}
-
-
-}
-
+//$Id: CollectionTest.java 7628 2005-07-24 06:55:01Z oneovthafew $
+package org.hibernate.test.collection.original;
+
+import java.sql.SQLException;
+
+import junit.framework.Test;
+
+import org.hibernate.Hibernate;
+import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.junit.functional.FunctionalTestCase;
+import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
+
+/**
+ * @author Gavin King
+ */
+public class CollectionTest extends FunctionalTestCase {
+
+	public CollectionTest(String str) {
+		super( str );
+	}
+
+	public String[] getMappings() {
+		return new String[] { "collection/original/UserPermissions.hbm.xml", "collection/original/Zoo.hbm.xml" };
+	}
+
+	public static Test suite() {
+		return new FunctionalTestClassTestSuite( CollectionTest.class );
+	}
+
+	public void testExtraLazy() throws HibernateException, SQLException {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		User u = new User( "gavin" );
+		u.getPermissions().add( new Permission( "obnoxiousness" ) );
+		u.getPermissions().add( new Permission( "pigheadedness" ) );
+		u.getSessionData().put( "foo", "foo value" );
+		s.persist( u );
+		t.commit();
+		s.close();
+		s = openSession();
+		t = s.beginTransaction();
+		u = ( User ) s.get( User.class, "gavin" );
+
+		assertFalse( Hibernate.isInitialized( u.getPermissions() ) );
+		assertEquals( u.getPermissions().size(), 2 );
+		assertTrue( u.getPermissions().contains( new Permission( "obnoxiousness" ) ) );
+		assertFalse( u.getPermissions().contains( new Permission( "silliness" ) ) );
+		assertNotNull( u.getPermissions().get( 1 ) );
+		assertNull( u.getPermissions().get( 3 ) );
+		assertFalse( Hibernate.isInitialized( u.getPermissions() ) );
+
+		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
+		assertEquals( u.getSessionData().size(), 1 );
+		assertTrue( u.getSessionData().containsKey( "foo" ) );
+		assertFalse( u.getSessionData().containsKey( "bar" ) );
+		assertTrue( u.getSessionData().containsValue( "foo value" ) );
+		assertFalse( u.getSessionData().containsValue( "bar" ) );
+		assertEquals( "foo value", u.getSessionData().get( "foo" ) );
+		assertNull( u.getSessionData().get( "bar" ) );
+		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
+
+		assertFalse( Hibernate.isInitialized( u.getSessionData() ) );
+		u.getSessionData().put( "bar", "bar value" );
+		u.getSessionAttributeNames().add( "bar" );
+		assertFalse( Hibernate.isInitialized( u.getSessionAttributeNames() ) );
+		assertTrue( Hibernate.isInitialized( u.getSessionData() ) );
+
+		s.delete( u );
+		t.commit();
+		s.close();
+	}
+
+	public void testMerge() throws HibernateException, SQLException {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		User u = new User( "gavin" );
+		u.getPermissions().add( new Permission( "obnoxiousness" ) );
+		u.getPermissions().add( new Permission( "pigheadedness" ) );
+		s.persist( u );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
+		u2.setPermissions( null ); //forces one shot delete
+		s.merge( u );
+		t.commit();
+		s.close();
+
+		u.getPermissions().add( new Permission( "silliness" ) );
+
+		s = openSession();
+		t = s.beginTransaction();
+		s.merge( u );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
+		assertEquals( u2.getPermissions().size(), 3 );
+		assertEquals( ( ( Permission ) u2.getPermissions().get( 0 ) ).getType(), "obnoxiousness" );
+		assertEquals( ( ( Permission ) u2.getPermissions().get( 2 ) ).getType(), "silliness" );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		s.delete( u2 );
+		s.flush();
+		t.commit();
+		s.close();
+
+	}
+
+	public void testFetch() {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		User u = new User( "gavin" );
+		u.getPermissions().add( new Permission( "obnoxiousness" ) );
+		u.getPermissions().add( new Permission( "pigheadedness" ) );
+		u.getEmailAddresses().add( new Email( "gavin at hibernate.org" ) );
+		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
+		s.persist( u );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
+		assertTrue( Hibernate.isInitialized( u2.getEmailAddresses() ) );
+		assertFalse( Hibernate.isInitialized( u2.getPermissions() ) );
+		assertEquals( u2.getEmailAddresses().size(), 2 );
+		s.delete( u2 );
+		t.commit();
+		s.close();
+	}
+
+	public void testUpdateOrder() {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		User u = new User( "gavin" );
+		u.getSessionData().put( "foo", "foo value" );
+		u.getSessionData().put( "bar", "bar value" );
+		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
+		u.getEmailAddresses().add( new Email( "gavin at hibernate.org" ) );
+		u.getEmailAddresses().add( new Email( "gavin at illflow.com" ) );
+		u.getEmailAddresses().add( new Email( "gavin at nospam.com" ) );
+		s.persist( u );
+		t.commit();
+		s.close();
+
+		u.getSessionData().clear();
+		u.getSessionData().put( "baz", "baz value" );
+		u.getSessionData().put( "bar", "bar value" );
+		u.getEmailAddresses().remove( 0 );
+		u.getEmailAddresses().remove( 2 );
+
+		s = openSession();
+		t = s.beginTransaction();
+		s.update( u );
+		t.commit();
+		s.close();
+
+		u.getSessionData().clear();
+		u.getEmailAddresses().add( 0, new Email( "gavin at nospam.com" ) );
+		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
+
+		s = openSession();
+		t = s.beginTransaction();
+		s.update( u );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		s.delete( u );
+		t.commit();
+		s.close();
+
+	}
+
+	public void testValueMap() {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		User u = new User( "gavin" );
+		u.getSessionData().put( "foo", "foo value" );
+		u.getSessionData().put( "bar", null );
+		u.getEmailAddresses().add( null );
+		u.getEmailAddresses().add( new Email( "gavin.king at jboss.com" ) );
+		u.getEmailAddresses().add( null );
+		u.getEmailAddresses().add( null );
+		s.persist( u );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		User u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
+		assertFalse( Hibernate.isInitialized( u2.getSessionData() ) );
+		assertEquals( u2.getSessionData().size(), 1 );
+		assertEquals( u2.getEmailAddresses().size(), 2 );
+		u2.getSessionData().put( "foo", "new foo value" );
+		u2.getEmailAddresses().set( 1, new Email( "gavin at hibernate.org" ) );
+		//u2.getEmailAddresses().remove(3);
+		//u2.getEmailAddresses().remove(2);
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		u2 = ( User ) s.createCriteria( User.class ).uniqueResult();
+		assertFalse( Hibernate.isInitialized( u2.getSessionData() ) );
+		assertEquals( u2.getSessionData().size(), 1 );
+		assertEquals( u2.getEmailAddresses().size(), 2 );
+		assertEquals( u2.getSessionData().get( "foo" ), "new foo value" );
+		assertEquals( ( ( Email ) u2.getEmailAddresses().get( 1 ) ).getAddress(), "gavin at hibernate.org" );
+		s.delete( u2 );
+		t.commit();
+		s.close();
+	}
+
+	// HHH-3636
+	public void testCollectionInheritance() {
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		Zoo zoo = new Zoo();
+		Mammal m = new Mammal();
+		m.setMammalName( "name1" );
+		m.setMammalName2( "name2" );
+		m.setMammalName3( "name3" );
+		m.setZoo( zoo );
+		zoo.getAnimals().add( m );
+		Long id = ( Long ) s.save( zoo );
+		t.commit();
+		s.close();
+
+		s = openSession();
+		t = s.beginTransaction();
+		Zoo found = ( Zoo ) s.get( Zoo.class, id );
+		found.getAnimals().size();
+		s.delete( found );
+		t.commit();
+		s.close();
+	}
+}
\ No newline at end of file

Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Mammal.java
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Mammal.java	                        (rev 0)
+++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Mammal.java	2008-12-10 01:40:38 UTC (rev 15673)
@@ -0,0 +1,34 @@
+package org.hibernate.test.collection.original;
+
+public class Mammal extends Animal {
+    private String mammalName;
+    private String mammalName2;
+    private String mammalName3;
+
+	public String getMammalName() {
+		return mammalName;
+	}
+
+	public void setMammalName(String mammalName) {
+		this.mammalName = mammalName;
+	}
+
+	public String getMammalName2() {
+		return mammalName2;
+	}
+
+	public void setMammalName2(String mammalName2) {
+		this.mammalName2 = mammalName2;
+	}
+
+	public String getMammalName3() {
+		return mammalName3;
+	}
+
+	public void setMammalName3(String mammalName3) {
+		this.mammalName3 = mammalName3;
+	}
+	
+	
+
+}
\ No newline at end of file

Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.hbm.xml
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.hbm.xml	                        (rev 0)
+++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.hbm.xml	2008-12-10 01:40:38 UTC (rev 15673)
@@ -0,0 +1,37 @@
+<?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.collection.original">
+
+	<class name="Zoo">
+		<id name="id" type="long">
+			<generator class="native" />
+		</id>
+		<list name="animals" cascade="save-update,delete">
+			<key column="Zoo_id" not-null="true" />
+			<list-index column="list_index" />
+			<one-to-many class="Animal" not-found="ignore" />
+		</list>
+	</class>
+
+	<class name="Animal" discriminator-value="ANIMAL">
+		<id name="id" column="ID" type="long">
+			<generator class="native" />
+		</id>
+		<discriminator column="discriminator" type="string" />
+		<property name="name"/>
+		<many-to-one name="zoo" class="Zoo" cascade="save-update,delete" />
+	</class>
+
+	<subclass name="Mammal" discriminator-value="MAMMAL" extends="Animal">
+		<join fetch="select" table="AnimalMammal">
+			<key column="Animal_id" />
+			<property name="mammalName" />
+			<property name="mammalName2" />
+			<property name="mammalName3" />
+		</join>
+	</subclass>
+
+</hibernate-mapping>
\ No newline at end of file

Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.java
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.java	                        (rev 0)
+++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo.java	2008-12-10 01:40:38 UTC (rev 15673)
@@ -0,0 +1,24 @@
+package org.hibernate.test.collection.original;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Zoo {
+    long id;
+    List animals = new ArrayList();
+
+    public long getId() {
+        return id;
+    }
+    public void setId( long id ) {
+        this.id = id;
+    }
+	public List getAnimals() {
+		return animals;
+	}
+	public void setAnimals(List animals) {
+		this.animals = animals;
+	}
+    
+    
+}




More information about the hibernate-commits mailing list