From 62b1da1be293f55671f591cf18035514e2d91ee1 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Fri, 7 Feb 2020 15:52:26 +1300 Subject: [PATCH] #1935 - ENH: Add DB.createTransaction() --- src/main/java/io/ebean/DB.java | 12 ++++++++++++ .../org/tests/basic/TestQueryUsingConnection.java | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/ebean/DB.java b/src/main/java/io/ebean/DB.java index 495018a08..3d05b8e56 100644 --- a/src/main/java/io/ebean/DB.java +++ b/src/main/java/io/ebean/DB.java @@ -176,6 +176,18 @@ public class DB { return getDefault().beginTransaction(); } + /** + * Create a new transaction that is not held in TransactionThreadLocal. + *

+ * You will want to do this if you want multiple Transactions in a single + * thread or generally use transactions outside of the TransactionThreadLocal + * management. + *

+ */ + public static Transaction createTransaction() { + return getDefault().createTransaction(); + } + /** * Start a transaction additionally specifying the isolation level. * diff --git a/src/test/java/org/tests/basic/TestQueryUsingConnection.java b/src/test/java/org/tests/basic/TestQueryUsingConnection.java index 5aca4bfe5..33b0c5473 100644 --- a/src/test/java/org/tests/basic/TestQueryUsingConnection.java +++ b/src/test/java/org/tests/basic/TestQueryUsingConnection.java @@ -41,7 +41,7 @@ public class TestQueryUsingConnection extends BaseTestCase { ResetBasicData.reset(); - try (Transaction transaction = DB.getDefault().createTransaction()) { + try (Transaction transaction = DB.createTransaction()) { Transaction current = Transaction.current(); assertThat(current).isNull();