HHH-12397: commit transactions in org.hibernate.jpa.test.query.QueryTest
This commit is contained in:
parent
f9dc014a79
commit
1ac6218f5d
|
@ -43,6 +43,7 @@ import junit.framework.Assert;
|
|||
|
||||
import static junit.framework.Assert.assertNull;
|
||||
import static org.hibernate.testing.junit4.ExtraAssertions.assertTyping;
|
||||
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
@ -711,16 +712,14 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
final Item item = new Item( "Mouse", "Microsoft mouse" );
|
||||
final Item item2 = new Item( "Computer", "Dell computer" );
|
||||
|
||||
EntityManager em = getOrCreateEntityManager();
|
||||
em.getTransaction().begin();
|
||||
try {
|
||||
em.persist( item );
|
||||
em.persist( item2 );
|
||||
assertTrue( em.contains( item ) );
|
||||
em.getTransaction().commit();
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
entityManager.persist( item );
|
||||
entityManager.persist( item2 );
|
||||
assertTrue( entityManager.contains( item ) );
|
||||
} );
|
||||
|
||||
em.getTransaction().begin();
|
||||
Query q = em.createQuery( "select item from Item item where item.name in ?1 and item.descr = ?2" );
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
Query q = entityManager.createQuery( "select item from Item item where item.name in ?1 and item.descr = ?2" );
|
||||
List params = new ArrayList();
|
||||
params.add( item.getName() );
|
||||
params.add( item2.getName() );
|
||||
|
@ -729,16 +728,8 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
List result = q.getResultList();
|
||||
assertNotNull( result );
|
||||
assertEquals( 1, result.size() );
|
||||
}
|
||||
catch (Exception e){
|
||||
if ( em.getTransaction() != null && em.getTransaction().isActive() ) {
|
||||
em.getTransaction().rollback();
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
finally {
|
||||
em.close();
|
||||
}
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -747,16 +738,15 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
final Item item = new Item( "Mouse", "Microsoft mouse" );
|
||||
final Item item2 = new Item( "Computer", "Dell computer" );
|
||||
|
||||
EntityManager em = getOrCreateEntityManager();
|
||||
em.getTransaction().begin();
|
||||
try {
|
||||
em.persist( item );
|
||||
em.persist( item2 );
|
||||
assertTrue( em.contains( item ) );
|
||||
em.getTransaction().commit();
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
entityManager.persist( item );
|
||||
entityManager.persist( item2 );
|
||||
assertTrue( entityManager.contains( item ) );
|
||||
} );
|
||||
|
||||
em.getTransaction().begin();
|
||||
Query q = em.createQuery( "select item from Item item where item.name in (?1) and item.descr = ?2" );
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
Query q = entityManager.createQuery(
|
||||
"select item from Item item where item.name in (?1) and item.descr = ?2" );
|
||||
List params = new ArrayList();
|
||||
params.add( item.getName() );
|
||||
params.add( item2.getName() );
|
||||
|
@ -765,16 +755,7 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
List result = q.getResultList();
|
||||
assertNotNull( result );
|
||||
assertEquals( 1, result.size() );
|
||||
}
|
||||
catch (Exception e){
|
||||
if ( em.getTransaction() != null && em.getTransaction().isActive() ) {
|
||||
em.getTransaction().rollback();
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
finally {
|
||||
em.close();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -783,16 +764,15 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
final Item item = new Item( "Mouse", "Microsoft mouse" );
|
||||
final Item item2 = new Item( "Computer", "Dell computer" );
|
||||
|
||||
EntityManager em = getOrCreateEntityManager();
|
||||
em.getTransaction().begin();
|
||||
try {
|
||||
em.persist( item );
|
||||
em.persist( item2 );
|
||||
assertTrue( em.contains( item ) );
|
||||
em.getTransaction().commit();
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
entityManager.persist( item );
|
||||
entityManager.persist( item2 );
|
||||
assertTrue( entityManager.contains( item ) );
|
||||
} );
|
||||
|
||||
em.getTransaction().begin();
|
||||
Query q = em.createQuery( "select item from Item item where item.name in (?1) and item.descr = ?2" );
|
||||
doInJPA( this::entityManagerFactory, entityManager -> {
|
||||
Query q = entityManager.createQuery(
|
||||
"select item from Item item where item.name in (?1) and item.descr = ?2" );
|
||||
List params = new ArrayList();
|
||||
params.add( item2.getName() );
|
||||
q.setParameter( 1, params );
|
||||
|
@ -800,16 +780,7 @@ public class QueryTest extends BaseEntityManagerFunctionalTestCase {
|
|||
List result = q.getResultList();
|
||||
assertNotNull( result );
|
||||
assertEquals( 1, result.size() );
|
||||
}
|
||||
catch (Exception e){
|
||||
if ( em.getTransaction() != null && em.getTransaction().isActive() ) {
|
||||
em.getTransaction().rollback();
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
finally {
|
||||
em.close();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -178,38 +178,40 @@ public class JPAQLComplianceTest extends AbstractJPATest {
|
|||
final Item item2 = new Item( "Computer" );
|
||||
item2.setId( 2L );
|
||||
|
||||
Session s = openSession();
|
||||
try {
|
||||
s.getTransaction().begin();
|
||||
s.save( item );
|
||||
s.save( item2 );
|
||||
s.getTransaction().commit();
|
||||
TransactionUtil2.inTransaction(
|
||||
sessionFactory(),
|
||||
s -> {
|
||||
s.save( item );
|
||||
s.save( item2 );
|
||||
}
|
||||
);
|
||||
|
||||
s.getTransaction().begin();
|
||||
Query q = s.createQuery( "select item from Item item where item.id in(?1) and item.name in (?2) and item.id in(?1)" );
|
||||
TransactionUtil2.inTransaction(
|
||||
sessionFactory(),
|
||||
s -> {
|
||||
Query q = s.createQuery(
|
||||
"select item from Item item where item.id in(?1) and item.name in (?2) and item.id in(?1)" );
|
||||
|
||||
List<Long> idParams = new ArrayList<>();
|
||||
idParams.add( item.getId() );
|
||||
idParams.add( item2.getId() );
|
||||
q.setParameter( 1, idParams );
|
||||
List<Long> idParams = new ArrayList<>();
|
||||
idParams.add( item.getId() );
|
||||
idParams.add( item2.getId() );
|
||||
q.setParameter( 1, idParams );
|
||||
|
||||
List<String> nameParams = new ArrayList<>();
|
||||
nameParams.add( item.getName() );
|
||||
nameParams.add( item2.getName() );
|
||||
q.setParameter( 2, nameParams );
|
||||
List<String> nameParams = new ArrayList<>();
|
||||
nameParams.add( item.getName() );
|
||||
nameParams.add( item2.getName() );
|
||||
q.setParameter( 2, nameParams );
|
||||
|
||||
List result = q.getResultList();
|
||||
assertNotNull( result );
|
||||
assertEquals( 2, result.size() );
|
||||
}
|
||||
);
|
||||
|
||||
TransactionUtil2.inTransaction(
|
||||
sessionFactory(),
|
||||
s -> s.createQuery( "from Item" ).list().forEach( result -> s.delete( result ) )
|
||||
);
|
||||
|
||||
List result = q.getResultList();
|
||||
assertNotNull( result );
|
||||
assertEquals( 2, result.size() );
|
||||
}
|
||||
catch (Exception e){
|
||||
if ( s.getTransaction() != null && s.getTransaction().isActive() ) {
|
||||
s.getTransaction().rollback();
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
finally {
|
||||
s.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue