[hibernate-commits] Hibernate SVN: r19293 - in core/branches/Branch_3_5: entitymanager/src/test/java/org/hibernate/ejb/test/lock and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Apr 26 12:18:45 EDT 2010


Author: smarlow at redhat.com
Date: 2010-04-26 12:18:45 -0400 (Mon, 26 Apr 2010)
New Revision: 19293

Modified:
   core/branches/Branch_3_5/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
   core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/test/lock/LockTest.java
Log:
HHH-5032 upgrade from optimistic to optimistic force does not work

Modified: core/branches/Branch_3_5/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java
===================================================================
--- core/branches/Branch_3_5/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java	2010-04-26 02:06:03 UTC (rev 19292)
+++ core/branches/Branch_3_5/core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java	2010-04-26 16:18:45 UTC (rev 19293)
@@ -3225,8 +3225,8 @@
 						readLoader :
 						createEntityLoader( LockMode.PESSIMISTIC_FORCE_INCREMENT )
 			);
-		loaders.put( LockMode.OPTIMISTIC, readLoader );
-		loaders.put( LockMode.OPTIMISTIC_FORCE_INCREMENT, readLoader );
+		loaders.put( LockMode.OPTIMISTIC, createEntityLoader( LockMode.OPTIMISTIC) );
+		loaders.put( LockMode.OPTIMISTIC_FORCE_INCREMENT, createEntityLoader(LockMode.OPTIMISTIC_FORCE_INCREMENT) );
 	
 		loaders.put(
 				"merge",

Modified: core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/test/lock/LockTest.java
===================================================================
--- core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/test/lock/LockTest.java	2010-04-26 02:06:03 UTC (rev 19292)
+++ core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/test/lock/LockTest.java	2010-04-26 16:18:45 UTC (rev 19293)
@@ -210,6 +210,28 @@
 		em.close();
 	}
 
+	public void testLockOptimisticForceIncrementDifferentEm() throws Exception {
+		 Lock lock = new Lock();
+		 lock.setName( "force" );
+		 EntityManager em1 = createIsolatedEntityManager();
+		 em1.getTransaction().begin();
+		 em1.persist( lock );
+		 em1.getTransaction().commit();
+		 em1.close();
+
+		 EntityManager em2 = createIsolatedEntityManager();
+		 em2.getTransaction().begin();
+		 lock = em2.find( Lock.class, lock.getId(), LockModeType.OPTIMISTIC );
+		 assertEquals( "lock mode should be OPTIMISTIC ", LockModeType.OPTIMISTIC, em2.getLockMode(lock) );
+		 em2.lock( lock, LockModeType.OPTIMISTIC_FORCE_INCREMENT );
+		 assertEquals( "lock mode should be OPTIMISTIC_FORCE_INCREMENT ", LockModeType.OPTIMISTIC_FORCE_INCREMENT, em2.getLockMode(lock) );
+		 em2.getTransaction().commit();
+		 em2.getTransaction().begin();
+		 em2.remove( lock );
+		 em2.getTransaction().commit();
+		 em2.close();
+	}
+
 	public void testContendedPessimisticLock() throws Exception {
 
 		EntityManager em = getOrCreateEntityManager();



More information about the hibernate-commits mailing list