HHH-5032 upgrade from optimistic to optimistic force does not work
git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@19295 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
parent
0ff854cabd
commit
bc1acf7028
|
@ -3225,8 +3225,8 @@ public abstract class AbstractEntityPersister
|
|||
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",
|
||||
|
|
|
@ -210,6 +210,28 @@ public class LockTest extends TestCase {
|
|||
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();
|
||||
|
|
Loading…
Reference in New Issue