Transactions 奥姆莱特&x2B;交易

Transactions 奥姆莱特&x2B;交易,transactions,ormlite,Transactions,Ormlite,我在理解DaoManager的默认行为时遇到问题 DaoManager.createDao(connectionSource, theClass); 这需要连接源,而不是连接。 因此,如果我执行以下操作: TransactionManager.callInTransaction( localConnection, connectionSource.getDatabaseType(), new Callable<Void>() { public

我在理解DaoManager的默认行为时遇到问题

DaoManager.createDao(connectionSource, theClass);
这需要连接源,而不是连接。 因此,如果我执行以下操作:

TransactionManager.callInTransaction(
    localConnection,
    connectionSource.getDatabaseType(),
    new Callable<Void>() {
        public Void call() throws Exception {
            dao.create(user);
            dao.create(player);
                return null;
            }
    });
TransactionManager.callInTransaction(
本地连接,
connectionSource.getDatabaseType(),
新的可调用(){
public Void call()引发异常{
创建(用户);
创建(玩家);
返回null;
}
});
事务应限于单个连接(localConnection)。刀是怎么处理的?还是它根本无法处理

事务应限于单个连接(localConnection)。刀是怎么处理的?还是它根本无法处理

人力资源管理。我不能100%确定为什么会暴露连接方法。我要反对它

你真的应该用这个。如果您需要直接使用TransactionManager,我会使用,而不是连接


你可以看一看,它正在保存连接,然后通过一些奥姆莱特魔法被刀使用。因此,在保存的连接上禁用自动提交,然后在批处理任务完成后恢复。

我分析了代码库,似乎如果在最初内部请求dao时使用相同的ConnectionSource,将建立一个“savedConnection”,然后强制使用它


如果有人能证实/反驳这一点——或者simly知道如何完全正确地做到这一点——请告诉我

谢谢大家!!我在这篇评论之前写了我的帖子,所以。。。我将看一看callBatchTasks方法。也许已经有一个例子了…:-)