Apply transactionIsolationLock in EclipseLinkConnectionHandle as well

Closes gh-36165

(cherry picked from commit 2b96a61063)
This commit is contained in:
Juergen Hoeller
2026-01-16 23:15:56 +01:00
parent 183cd4c8cd
commit 0033edad45
@@ -168,7 +168,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;
@@ -182,7 +182,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;
}