[hibernate-commits] Hibernate SVN: r18747 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Feb 9 14:22:11 EST 2010


Author: smarlow at redhat.com
Date: 2010-02-09 14:22:10 -0500 (Tue, 09 Feb 2010)
New Revision: 18747

Modified:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java
Log:
HHH-4895 query against derived id doesn't return expected result

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java	2010-02-09 17:31:18 UTC (rev 18746)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java	2010-02-09 19:22:10 UTC (rev 18747)
@@ -4,6 +4,8 @@
 import org.hibernate.test.annotations.TestCase;
 import org.hibernate.test.util.SchemaUtil;
 
+import java.util.List;
+
 /**
  * @author Emmanuel Bernard
  */
@@ -35,6 +37,31 @@
 		s.close();
 	}
 
+	public void testQueryNewEntityInPC() throws Exception {
+		Session s = openSession();
+		s.getTransaction().begin();
+		Employee e = new Employee( 1L, "Paula", "P" );
+		Dependent d = new Dependent( "LittleP", e );
+		d.setEmp(e);
+		s.persist( d );
+		s.persist( e );
+
+		// the following would work
+		// List depList = s.createQuery("Select d from Dependent d where d.name='LittleP'").list();
+
+		// the following query is not finding the entity 'd' added above
+		List depList = s.createQuery("Select d from Dependent d where d.name='LittleP' and d.emp.name='Paula'").list();
+		Object newDependent = null;
+		if (depList.size() > 0) {
+			 newDependent = (Dependent) depList.get(0);
+		}
+		if (newDependent != d) {
+			fail("PC entity instance (" + d +") does not match returned query result value (" + newDependent);
+		}
+		s.getTransaction().rollback();
+		s.close();
+	}
+
 	@Override
 	protected Class<?>[] getAnnotatedClasses() {
 		return new Class<?>[] {



More information about the hibernate-commits mailing list