我在现有项目中使用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()
但这个名称在这个特定的用例中有点误导.我不想要一个新的连接,只需要当前的连接.我认为这是要走的路,因为配置是派生的,我将始终获得相同的连接,但我不确定,我在文档中找不到答案.