Apply transactionIsolationLock in EclipseLinkConnectionHandle as well

Closes gh-36165
This commit is contained in:
Juergen Hoeller
2026-01-16 23:12:07 +01:00
parent c55351aa4a
commit 2b96a61063
@@ -171,7 +171,7 @@ public class EclipseLinkJpaDialect extends DefaultJpaDialect {
* This is useful to defer the early transaction begin that obtaining a
* JDBC Connection implies within an EclipseLink EntityManager.
*/
private static class EclipseLinkConnectionHandle implements ConnectionHandle {
private class EclipseLinkConnectionHandle implements ConnectionHandle {
private final EntityManager entityManager;
@@ -184,7 +184,13 @@ public class EclipseLinkJpaDialect extends DefaultJpaDialect {
@Override
public Connection getConnection() {
if (this.connection == null) {
this.connection = this.entityManager.unwrap(Connection.class);
transactionIsolationLock.lock();
try {
this.connection = this.entityManager.unwrap(Connection.class);
}
finally {
transactionIsolationLock.unlock();
}
}
return this.connection;
}