【发布时间】:2015-12-02 20:08:01
【问题描述】:
我在现有项目中使用 jOOQ,该项目也使用一些自定义 JDBC 代码。在jOOQ transaction 中,我需要调用其他一些 JDBC 代码,并且我需要通过活动连接,以便所有内容都在同一个事务中。
我不知道如何检索 jOOQ 事务中的底层连接。
create.transaction(configuration -> {
DSLContext ctx = DSL.using(configuration);
// standard jOOQ code
ctx.insertInto(...);
// now I need a Connection
Connection c = ctx.activeConnection(); // not real, this is what I need
someOtherCode(c, ...);
});
阅读文档并稍微了解一下源代码,我最好的选择是:
configuration.connectionProvider().acquire()
但在这个特定的用例中,这个名称有点误导。我不想要新的连接,只想要当前的。我认为这是要走的路,因为配置是派生的,我总是会得到相同的连接,但我不确定,我在文档中找不到答案。
【问题讨论】:
标签: java jdbc transactions java-8 jooq