com.zfabrik.db.data connections are not enlisted with JTA but workunit
This leads to follow-up failures with Hibernate DDL isolation that sets connections to autocommit=true.
In this case, Hibernate (correctly) assumes that it is at liberty to set any connection to autocommit=true because it did not find any transaction to resume.
That however leads to an autocommit transaction in the workunit.
In addition, any connection that goes back into the pool should have autocommit reset to false.
- Enlist connections with the Transaction rather than the workunit and so
- A connection with enlist=jta, is only enlisted, if there is a transaction, and it is delisted when that transaction is delisted.
- Refuse autocommit=true when in a transaction
- Reset autocommit to false when returning a connection to the pool
Updated by Henning Blohm 8 months ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Applied in changeset z2-base:base|0a92d31c368bce7c0c8f1d572814c3c8bc283199.