diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java index f6485b4fe..ff63c2830 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java @@ -115,7 +115,7 @@ public class JdbcTransaction implements SpiTransaction { /** * Set to true if the connection has autoCommit=true initially. */ - protected final boolean autoCommit; + protected boolean autoCommit; protected IdentityHashMap persistingBeans; @@ -146,11 +146,13 @@ public class JdbcTransaction implements SpiTransaction { this.batchOnCascadeMode = manager == null ? PersistBatch.NONE : manager.getPersistBatchOnCascade(); this.onQueryOnly = manager == null ? OnQueryOnly.ROLLBACK : manager.getOnQueryOnly(); this.persistenceContext = new DefaultPersistenceContext(); - this.autoCommit = connection.getAutoCommit(); - if (this.autoCommit) { - connection.setAutoCommit(false); + + if (connection != null) { + this.autoCommit = connection.getAutoCommit(); + if (this.autoCommit) { + connection.setAutoCommit(false); + } } - } catch (Exception e) { throw new PersistenceException(e); }