[hibernate-dev] AvailableSettings.DISCARD_PC_ON_CLOSE and Transaction status

Vlad Mihalcea mihalcea.vlad at gmail.com
Wed Sep 21 09:08:38 EDT 2016


Hi,

While reviewing and adding a test case for
https://hibernate.atlassian.net/browse/HHH-11120,
I realized that if we enable the AvailableSettings.DISCARD_PC_ON_CLOSE
property,
the database connection gets closed when the EntityManager is closed, while
the EntityTransaction status remains ACTIVE.

I noticed that in the call:

currentHibernateTransaction.invalidate();

But this method is no-op and deprecated as well.

Is this behavior intended? If the database connection was closed, at least
for RESOURCE_LOCAL, on most RDBMS engines, the underlying transaction gets
rolled back as well.
For JTA, the connection might still be open and allocated to the current
user since the TM controls when the resources are to be released.

Should we leave this behavior like that?

Vlad


More information about the hibernate-dev mailing list