diff --git a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java index 8320e48ab8e2..09ce4458512a 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java @@ -755,18 +755,18 @@ public void persist(String entityName, Object object, Map copiedAlready) throws private void firePersist(PersistEvent event) { checkOpen(); - checkTransactionSynchStatus(); - checkNoUnresolvedActionsBeforeOperation(); - try { + checkTransactionSynchStatus(); + checkNoUnresolvedActionsBeforeOperation(); + for ( PersistEventListener listener : listeners( EventType.PERSIST ) ) { listener.onPersist( event ); } } - catch ( MappingException e ) { - throw convert( new IllegalArgumentException( e.getMessage() ) ) ; + catch (MappingException e) { + throw convert( new IllegalArgumentException( e.getMessage() ) ); } - catch ( RuntimeException e ) { + catch (RuntimeException e) { throw convert( e ); } finally { diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoinHandlingChecker.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoinHandlingChecker.java index ae08b74fffc6..02af41e9f742 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoinHandlingChecker.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoinHandlingChecker.java @@ -31,29 +31,29 @@ static void validateExplicitJoiningHandling(EntityManager entityManager) throws JtaTransactionCoordinatorImpl transactionCoordinator = (JtaTransactionCoordinatorImpl) session.getTransactionCoordinator(); assertFalse( transactionCoordinator.isSynchronizationRegistered() ); - assertFalse( transactionCoordinator.isActive() ); + assertFalse( transactionCoordinator.isJtaTransactionCurrentlyActive() ); assertFalse( transactionCoordinator.isJoined() ); session.getFlushMode(); assertFalse( transactionCoordinator.isSynchronizationRegistered() ); - assertFalse( transactionCoordinator.isActive() ); + assertFalse( transactionCoordinator.isJtaTransactionCurrentlyActive() ); assertFalse( transactionCoordinator.isJoined() ); TestingJtaPlatformImpl.INSTANCE.getTransactionManager().begin(); assertTrue( JtaStatusHelper.isActive( TestingJtaPlatformImpl.INSTANCE.getTransactionManager() ) ); - assertTrue( transactionCoordinator.isActive() ); + assertTrue( transactionCoordinator.isJtaTransactionCurrentlyActive() ); assertFalse( transactionCoordinator.isJoined() ); assertFalse( transactionCoordinator.isSynchronizationRegistered() ); session.getFlushMode(); assertTrue( JtaStatusHelper.isActive( TestingJtaPlatformImpl.INSTANCE.getTransactionManager() ) ); - assertTrue( transactionCoordinator.isActive() ); + assertTrue( transactionCoordinator.isJtaTransactionCurrentlyActive() ); assertFalse( transactionCoordinator.isJoined() ); assertFalse( transactionCoordinator.isSynchronizationRegistered() ); entityManager.joinTransaction(); assertTrue( JtaStatusHelper.isActive( TestingJtaPlatformImpl.INSTANCE.getTransactionManager() ) ); - assertTrue( transactionCoordinator.isActive() ); + assertTrue( transactionCoordinator.isJtaTransactionCurrentlyActive() ); assertTrue( transactionCoordinator.isSynchronizationRegistered() ); assertTrue( transactionCoordinator.isJoined() ); @@ -61,7 +61,7 @@ static void validateExplicitJoiningHandling(EntityManager entityManager) throws assertTrue( session.isOpen() ); entityManager.close(); assertFalse( entityManager.isOpen() ); - assertTrue( session.isOpen() ); + assertFalse( session.isOpen() ); TestingJtaPlatformImpl.INSTANCE.getTransactionManager().commit(); assertFalse( entityManager.isOpen() ); diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoiningTest.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoiningTest.java index b29719446127..8c64f7d1bb3e 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoiningTest.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/transaction/TransactionJoiningTest.java @@ -91,7 +91,7 @@ public void testImplicitJoining() throws Exception { assertTrue( session.isOpen() ); entityManager.close(); assertFalse( entityManager.isOpen() ); - assertTrue( session.isOpen() ); + assertFalse( session.isOpen() ); TestingJtaPlatformImpl.INSTANCE.getTransactionManager().commit(); assertFalse( entityManager.isOpen() ); @@ -190,6 +190,8 @@ public void run() { catch ( PersistenceException e ) { // HHH-9312 caught = true; + }catch (Exception e){ + caught = true; } assertTrue( caught );