Author: gbadner
Date: 2010-07-15 19:35:54 -0400 (Thu, 15 Jul 2010)
New Revision: 19958
Modified:
core/branches/Branch_3_5/testsuite/src/test/java/org/hibernate/test/orphan/one2one/fk/reversed/unidirectional/DeleteOneToOneOrphansTest.java
Log:
HHH-5267 : Added FailureExpected test for updating one-to-one mapped as delete-orphan
while detached
Modified:
core/branches/Branch_3_5/testsuite/src/test/java/org/hibernate/test/orphan/one2one/fk/reversed/unidirectional/DeleteOneToOneOrphansTest.java
===================================================================
---
core/branches/Branch_3_5/testsuite/src/test/java/org/hibernate/test/orphan/one2one/fk/reversed/unidirectional/DeleteOneToOneOrphansTest.java 2010-07-15
17:19:20 UTC (rev 19957)
+++
core/branches/Branch_3_5/testsuite/src/test/java/org/hibernate/test/orphan/one2one/fk/reversed/unidirectional/DeleteOneToOneOrphansTest.java 2010-07-15
23:35:54 UTC (rev 19958)
@@ -89,4 +89,44 @@
cleanupData();
}
+
+ public void testOrphanedWhileDetachedFailureExpected() {
+ createData();
+
+ Session session = openSession();
+ session.beginTransaction();
+ List results = session.createQuery( "from EmployeeInfo" ).list();
+ assertEquals( 1, results.size() );
+ results = session.createQuery( "from Employee" ).list();
+ assertEquals( 1, results.size() );
+ Employee emp = ( Employee ) results.get( 0 );
+ assertNotNull( emp.getInfo() );
+
+ //only fails if the object is detached
+ session.getTransaction().commit();
+ session.close();
+ session = openSession();
+ session.beginTransaction();
+
+ emp.setInfo( null );
+
+ //save using the new session (this used to work prior to 3.5.x)
+ session.saveOrUpdate(emp);
+
+ session.getTransaction().commit();
+ session.close();
+
+ session = openSession();
+ session.beginTransaction();
+ emp = ( Employee ) session.get( Employee.class, emp.getId() );
+ assertNull( emp.getInfo() );
+ results = session.createQuery( "from EmployeeInfo" ).list();
+ assertEquals( 0, results.size() );
+ results = session.createQuery( "from Employee" ).list();
+ assertEquals( 1, results.size() );
+ session.getTransaction().commit();
+ session.close();
+
+ cleanupData();
+ }
}
\ No newline at end of file
Show replies by date