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