问题描述
首先声明,额是菜鸟,弱弱的问大神一个问题: 环境:系统采用了分层,但是业务逻辑却写在了Dao层,而事务控制在Service层,(大家应该知道这个Service层基本就是个空架子了)。 问题:在Dao的方法里边,有对多个数据库表进行修改的操作。这样Service层的事务管理能起到作用吗???PS:这不是我写的程序,只是忽然间发现自己也很小白,请拍砖,但莫要人身攻击俺~~.
解决方案
因为service里调用的是dao,所以是可以执行事物的.
解决方案二:
"在Dao的方法里边,有对多个数据库表进行修改的操作"这句话是指对表结构的修改? 还是对表里的数据修改?如果对数据,是可以批量事务回滚,如果是表结构,这是有问题的代码和设计.
解决方案三:
一般来说,都可以把事务控制放在service层,service层主要是封装逻辑业务(不单单是空架子啦),一个service操作里可能有多个增删改查操作的时候,在service上加事务就可以用事务控制了,比如@Transactional class OperationService{ try{ add(); }catch(Exception e){ ... } try{ update(); }catch(Exception e){ ... } try{ del(); }catch(Exception e){ ... } }
解决方案四:
完全可以控制
时间: 2025-01-25 17:01:18