小弟在做一个银行项目,遇到一个问题,大致是这样的:在一个action里面,要调用service层的两个方法,这两个方法是把当前两个对象提交到数据库的,并且该方法会抛出异常,现在要保证该方法全部执行成功,才把这两个对象提交到数据库的,任何一个方法抛出异常就返回错误页面!恳请各位大侠说出思路,不只事务可不可实现。
你可以使用action调用service层,在serverce层代码中分别来调用数据库,相信你们的项目在service以做了事务控制了吧!
典型的事务,
[code="java"]Transaction tx = conn.openTransaction();
try{
tx.begin()
service();
service2();
tx.commit();
}catch(Exception e){
tx.rollback();
}[/code]
spring中就更简单,直接在配置文件中设置
[code="java"][/code]
[code="java"]
Transaction tx = null;
try{
tx = conn.openTransaction();
tx.begin()
service();
service2();
tx.commit();
}catch(Exception e){
tx.rollback();
}
[/code]
[code="java"]Transaction tx = conn.getTransaction();
try{
tx.begin()
dao1();
dao2();
tx.commit();
}catch(Exception e){
tx.rollback();
}[/code]
没注意,,错的太多了点,自己改了。
项目采用Hibernte了嘛?
你说一个Action里要调用两个Service执行sql,想必不是查询,哈哈
所以建议你可以在Action里调用一个Service,然后传入两个对象,再到
Manager里就容易写事物了吧?
你要是在Action里写事物,那可就跨层了啊...没必要吧?哈哈