[hibernate-commits] Hibernate SVN: r15675 - in core/branches/Branch_3_3: testsuite/src/test/java/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:59:47 EST 2008
Author: cbredesen
Date: 2008-12-09 20:59:47 -0500 (Tue, 09 Dec 2008)
New Revision: 15675
Added:
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Animal.java
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Mammal.java
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.hbm.xml
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.java
Modified:
core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/CollectionTest.java
Log:
HHH-3636 test case + fix
Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
===================================================================
--- core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java 2008-12-10 01:47:56 UTC (rev 15674)
+++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java 2008-12-10 01:59:47 UTC (rev 15675)
@@ -2864,8 +2864,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_3/testsuite/src/test/java/org/hibernate/test/collection/original/Animal.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Animal.java (rev 0)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Animal.java 2008-12-10 01:59:47 UTC (rev 15675)
@@ -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_3/testsuite/src/test/java/org/hibernate/test/collection/original/CollectionTest.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/CollectionTest.java 2008-12-10 01:47:56 UTC (rev 15674)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/CollectionTest.java 2008-12-10 01:59:47 UTC (rev 15675)
@@ -22,7 +22,7 @@
}
public String[] getMappings() {
- return new String[] { "collection/original/UserPermissions.hbm.xml" };
+ return new String[] { "collection/original/UserPermissions.hbm.xml", "collection/original/Zoo.hbm.xml" };
}
public static Test suite() {
@@ -223,6 +223,27 @@
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_3/testsuite/src/test/java/org/hibernate/test/collection/original/Mammal.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Mammal.java (rev 0)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Mammal.java 2008-12-10 01:59:47 UTC (rev 15675)
@@ -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_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.hbm.xml
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.hbm.xml (rev 0)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.hbm.xml 2008-12-10 01:59:47 UTC (rev 15675)
@@ -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_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.java (rev 0)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/original/Zoo.java 2008-12-10 01:59:47 UTC (rev 15675)
@@ -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