-
Notifications
You must be signed in to change notification settings - Fork 38.9k
Description
Marten Deinum opened SPR-16915 and commented
When using Hibernate 5.2 and using an unwrapped (or cast) SessionFactory to get the current session using getCurrentSession this doesn't get synchronized with the current transaction.
This is mainly due to the change in Hibernate 5.2 that Session now extends EntityManager which will create an unsynchronized EntityManager leading to an exception when the transaction will commit.
This all happens in the invokeProxyMethod in the AbstractEntityManagerFactoryBean. I guess that method should also treat the getCurrentSession method like it does the createEntityManager method with SynchronizationType.SYNCHRONIZED is used.
NOTE: This only happens with Hibernate 5.2 (or up) with lower versions there (probably) isn't an issue as there Session doesn't extend EntityManager.
Affects: 4.3.17, 5.0.6
Issue Links:
- LocalSessionFactoryBean and HibernateTransactionManager for JPA EntityManagerFactory setup [SPR-17002] #21540 LocalSessionFactoryBean and HibernateTransactionManager for JPA EntityManagerFactory setup