Skip to content

Commit 949b9b7

Browse files
committed
Various code cleanup
1 parent fae433a commit 949b9b7

File tree

3 files changed

+61
-27
lines changed

3 files changed

+61
-27
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/jpa/lock/Lockable.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import jakarta.persistence.Version;
1010

1111
/**
12-
* TODO : javadoc
13-
*
1412
* @author Steve Ebersole
1513
*/
1614
@Entity
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.jpa.lock;
6+
7+
import jakarta.persistence.LockModeType;
8+
import org.hibernate.engine.spi.ActionQueue;
9+
import org.hibernate.engine.spi.SessionImplementor;
10+
import org.hibernate.testing.jdbc.SQLStatementInspector;
11+
import org.hibernate.testing.orm.junit.DomainModel;
12+
import org.hibernate.testing.orm.junit.JiraKey;
13+
import org.hibernate.testing.orm.junit.SessionFactory;
14+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
15+
import org.junit.jupiter.api.Test;
16+
17+
import static org.assertj.core.api.Assertions.assertThat;
18+
19+
/**
20+
* @author Steve Ebersole
21+
*/
22+
@SuppressWarnings("JUnitMalformedDeclaration")
23+
@DomainModel(annotatedClasses = Lockable.class)
24+
@SessionFactory(useCollectingStatementInspector = true)
25+
public class OptimisticLockTests {
26+
@Test
27+
@JiraKey(value = "HHH-9419")
28+
public void testNoVersionCheckAfterRemove(SessionFactoryScope sessions) {
29+
final SQLStatementInspector sqlCollector = sessions.getCollectingStatementInspector();
30+
sqlCollector.clear();
31+
32+
final Lockable created = sessions.fromTransaction( (session) -> {
33+
final Lockable entity = new Lockable( "name" );
34+
session.persist( entity );
35+
return entity;
36+
} );
37+
assertThat( created.getVersion() ).isEqualTo( 0 );
38+
39+
final Lockable locked = sessions.fromTransaction( (session) -> {
40+
final ActionQueue actionQueue = session.unwrap( SessionImplementor.class ).getActionQueue();
41+
assertThat( actionQueue.hasBeforeTransactionActions() ).isFalse();
42+
43+
final Lockable loaded = session.createQuery( "from Lockable", Lockable.class )
44+
.setLockMode( LockModeType.OPTIMISTIC )
45+
.getSingleResult();
46+
assertThat( loaded.getVersion() ).isEqualTo( 0 );
47+
assertThat( actionQueue.hasBeforeTransactionActions() ).isTrue();
48+
49+
sqlCollector.clear();
50+
session.remove( loaded );
51+
52+
return loaded;
53+
} );
54+
55+
assertThat( locked.getVersion() ).isEqualTo( 0 );
56+
57+
// should be just the deletion
58+
assertThat( sqlCollector.getSqlQueries() ).hasSize( 1 );
59+
assertThat( sqlCollector.getSqlQueries().get( 0 ) ).startsWith( "delete from Lockable " );
60+
}
61+
}

hibernate-core/src/test/java/org/hibernate/orm/test/jpa/lock/QueryLockingTest.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -288,31 +288,6 @@ public void testOptimisticOverall() {
288288
em.close();
289289
}
290290

291-
@Test
292-
@JiraKey(value = "HHH-9419")
293-
public void testNoVersionCheckAfterRemove() {
294-
EntityManager em = getOrCreateEntityManager();
295-
em.getTransaction().begin();
296-
Lockable lock = new Lockable( "name" );
297-
em.persist( lock );
298-
em.getTransaction().commit();
299-
em.close();
300-
Integer initial = lock.getVersion();
301-
assertNotNull( initial );
302-
303-
em = getOrCreateEntityManager();
304-
em.getTransaction().begin();
305-
Lockable reread = em.createQuery( "from Lockable", Lockable.class )
306-
.setLockMode( LockModeType.OPTIMISTIC )
307-
.getSingleResult();
308-
assertEquals( initial, reread.getVersion() );
309-
assertTrue( em.unwrap( SessionImpl.class ).getActionQueue().hasBeforeTransactionActions() );
310-
em.remove( reread );
311-
em.getTransaction().commit();
312-
em.close();
313-
assertEquals( initial, reread.getVersion() );
314-
}
315-
316291
@Test
317292
public void testOptimisticSpecific() {
318293
EntityManager em = getOrCreateEntityManager();

0 commit comments

Comments
 (0)