JOOQ DAO 使用事务支持

Posted

技术标签:

【中文标题】JOOQ DAO 使用事务支持【英文标题】:JOOQ DAO using Transaction support 【发布时间】:2018-01-08 08:14:03 【问题描述】:

我正在使用 JOOQ/Hikari 在 Postgres 上执行数据库操作。我一直在尝试查看一些使用 JOOQ 在生成的 DAO 上使用事务操作的示例。我的大多数同事都使用 Spring Transactions,但我将 Guice 用于 DI,因此不想将 Spring 带入画面。非常感谢任何链接或想法?如果这很重要,我的应用程序是基于 Ratpack 构建的。

【问题讨论】:

【参考方案1】:

如果您使用的是ratpack,我建议您查看https://github.com/ratpack/ratpack/blob/master/ratpack-jdbc-tx/src/main/java/ratpack/jdbctx/Transaction.java

【讨论】:

谢谢。我们没有使用 1.5。我正在寻找 JOOQ 支持。 当您能够升级时,这也适用于 jooq【参考方案2】:

JOOQ 还支持从 3.6 开始的事务 这是基于 JDBC 事务的。

虽然生成的 DAO 无法进行事务处理,但可以在 DSLContext 级别(与 DB 交互的较低级别 API)使用它

这是文档。 https://www.jooq.org/doc/3.6/manual/sql-execution/transaction-management/

【讨论】:

以上是关于JOOQ DAO 使用事务支持的主要内容,如果未能解决你的问题,请参考以下文章

Spring Hibernate:Generic Dao 添加原因 - org.hibernate.TransactionException:不支持嵌套事务

在 jooq 中使用 DAO 时出现 DataAccessException

jOOQ - 支持 JSR310

如何在使用 jooq 生成的 dao 插入/更新后获取插入/更新的对象

jOOQ 自定义 Pojo 和 DAO 生成

JOOQ 代码生成器跳过包含 JsonNode 字段的类