关于jfinal事务

藏言 发布于 2014/08/15 14:55
阅读 686
收藏 0

@JFinal 你好,想跟你请教个问题:

感觉jfianl 的Db.tx(IAtom atom)进行手动事务代码太难看了点把,为什么不开放个类似这样的
Db.save(String tableName, Record record,Connection conn)  用户自己传入Connection 自己来控制事务,感觉代码更好看点。个人见解望指教!

加载中
1
JFinal
JFinal
可使用jfinal提供的声明式事务代码简洁些。 如果给个connection的参数代码更难看了,用户也不一定知道怎么利用这种api控制事务,况且如果忘记关闭connection造成连接泄露,最终系统搞挂掉
JFinal
JFinal
或许有更好的设计,有好的设计记得提给我哈
藏言
藏言
声明式事务只针对整个方法啊,但方法里要针对不同代码段进行手动事务控制就就得用db.tx了,感觉把代码放到回调里特别扭,估计个人习惯不太把
0
山东-小木
山东-小木
@jfinal 看代码里 事务处理是用的主 connection啊 只有model才行 DB+record的事务不行啊
JFinal
JFinal
可以的,Db.use(...).tx(...)
0
藏言
藏言

框架Play Framework里集成的jpa 里可以用JPAPlugin.startTx(false); JPAPlugin.closeTx(isRollback); 来手动控制事务是否可以参考下 @jfinal

0
Dead_knight
Dead_knight
其实jfinal的事务也是放在threadlocal里面的,只要你喜欢,你可以把自己的connection提前放到它的threadlocal里面不就行了么。
0
Dead_knight
Dead_knight
snaker集成@JFinal ,就是从jfinal的threadlocal里面获取connection,所以事务还是由jfinal来控制
返回顶部
顶部