gpt4 book ai didi

transactions - ORMLite + 交易

转载 作者:行者123 更新时间:2023-12-01 11:33:05 26 4
gpt4 key购买 nike

我无法理解 DaoManager 的默认行为。

DaoManager.createDao(connectionSource, theClass);

这需要一个 connectionSource - 而不是一个连接。因此,如果我执行以下操作:

TransactionManager.callInTransaction(
localConnection,
connectionSource.getDatabaseType(),
new Callable<Void>() {
public Void call() throws Exception {
dao.create(user);
dao.create(player);
return null;
}
});

事务应限于单个连接(localConnection)。 DAO 是如何处理的?或者它根本不处理它?<​​/p>

最佳答案

The transaction should be limited to a single connection (the localConnection). How does the DAO handle that? Or does it not handle it at all?

嗯。我不是 100% 确定为什么会公开连接方法。我将弃用它。

你真的应该使用 dao.callBatchTasks(...) method .如果您需要直接使用 TransactionManager,我会使用 method that takes a ConnectionSource不是一个连接。

你可以看看source of TransactionManager.callInTransaction(...)看到它正在保存连接,稍后 DAO 通过一些 ORMLite 魔术使用该连接。因此,在已保存的连接上禁用自动提交,然后在批处理任务完成后恢复。

关于transactions - ORMLite + 交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com