diff --git a/src/main/java/io/ebean/Transaction.java b/src/main/java/io/ebean/Transaction.java index 7134ab873..7df15e90e 100644 --- a/src/main/java/io/ebean/Transaction.java +++ b/src/main/java/io/ebean/Transaction.java @@ -13,6 +13,23 @@ import java.sql.Connection; */ public interface Transaction extends AutoCloseable { + /** + * Return the current transaction (of the default server) or null if there is + * no current transaction in scope. + *
+ * This is the same as Ebean.currentTransaction()
+ *
+ * This returns the current transaction for the 'default server'. If you are using + * multiple EbeanServer's then use {@link EbeanServer#currentTransaction()}. + *
+ * @see Ebean#currentTransaction() + * @see EbeanServer#currentTransaction() + */ + static Transaction current() { + return Ebean.currentTransaction(); + } + /** * Read Committed transaction isolation. Same as * java.sql.Connection.TRANSACTION_READ_COMMITTED. diff --git a/src/test/java/org/tests/transaction/TestTransactionRollbackOnly.java b/src/test/java/org/tests/transaction/TestTransactionRollbackOnly.java index 247b68761..787fb7653 100644 --- a/src/test/java/org/tests/transaction/TestTransactionRollbackOnly.java +++ b/src/test/java/org/tests/transaction/TestTransactionRollbackOnly.java @@ -3,10 +3,10 @@ package org.tests.transaction; import io.ebean.Ebean; import io.ebean.Transaction; import io.ebean.annotation.Transactional; -import org.tests.model.basic.EBasic; import org.junit.Test; +import org.tests.model.basic.EBasic; -import static org.assertj.core.api.StrictAssertions.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -31,7 +31,7 @@ public class TestTransactionRollbackOnly { one = new EBasic("WillNotSave"); Ebean.save(one); - Transaction transaction = Ebean.currentTransaction(); + Transaction transaction = Transaction.current(); assertFalse(transaction.isRollbackOnly()); transaction.setRollbackOnly();