我有一个错误,我无法解决。
我正在使用 Spring 和 JOOQ。
这里发生错误:
@Transactional
public UUID create(List<User> users) {
UUID uuid = UUID.randomUUID();
dslContext.transaction(() -> {
dslContext
.insertInto(APPLE, APPLE.APPLE_ID, APPLE.TITLE)
.values(uuid, uuid.toString())
.execute();
users.forEach(user -> {
dslContext
.insertInto(APPLE_MEMBERS, APPLE_MEMBERS.APPLE_ID, APPLE_MEMBERS.USER_ID)
.values(uuid, user.getUserId())
.execute();
});
});
return uuid;
}
Run Code Online (Sandbox Code Playgroud)
错误:
org.jooq.exception.ConfigurationException: Cannot use ContextTransactionalCallable with TransactionProvider of type class org.springframework.boot.autoconfigure.jooq.SpringTransactionProvider
Run Code Online (Sandbox Code Playgroud)
也许有人有同样的错误或知道如何解决这个错误?
您必须选择以下两种方法之一:
开箱即用,它们无法组合。在你的具体情况下,我不明白你为什么要这样做。嵌套的编程事务与外部的声明性事务具有完全相同的范围。这是多余的。
TransactionProvider实现您可以编写自己的TransactionProvider程序,能够与 Spring 的事务管理进行通信,并允许在@Transactional带注释的方法中嵌入嵌套事务,但我通常建议不要这样做。选择两种方法之一。
| 归档时间: |
|
| 查看次数: |
937 次 |
| 最近记录: |