eve*_*zon 3 transactions ormlite
我在理解DaoManager的默认行为时遇到问题.
DaoManager.createDao(connectionSource, theClass);
Run Code Online (Sandbox Code Playgroud)
这需要一个connectionSource - 而不是一个连接.所以,如果我做以下事情:
TransactionManager.callInTransaction(
localConnection,
connectionSource.getDatabaseType(),
new Callable<Void>() {
public Void call() throws Exception {
dao.create(user);
dao.create(player);
return null;
}
});
Run Code Online (Sandbox Code Playgroud)
该事务应限于单个连接(localConnection).DAO如何处理?或者它根本不处理它?
谢谢!
该事务应限于单个连接(localConnection).DAO如何处理?或者它根本不处理它?
人力资源管理.我不是100%确定连接方法暴露的原因.我要弃用它.
你真的应该使用这个dao.callBatchTasks(...)方法.如果你需要使用TransactionManager直接,我会使用的,需要一个方法ConnectionSource,不连接.
您可以查看源代码,TransactionManager.callInTransaction(...)看看它是否正在保存连接,然后DAO通过某些ORMLite魔术使用该连接.因此,在已保存的连接上禁用自动提交,然后在批处理任务完成后恢复.
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |