2 weikzhao0521 weikzhao0521 于 2015.06.05 17:11 提问

Spring MVC + hibernate service层和dao层

Spring MVC + hibernate service层和dao层 方法头上都加上@Transactional会识别哪个

service层:
@Override
@Transactional
public Future save(UserVO userVO) {
this.myUserDao().saveUser(user);
...

dao层:
@Override
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void saveUser(User user) {
save(user);
...

1个回答

zhangleijava1
zhangleijava1   2015.06.05 17:40

这个无关识别哪个问题。 比如你上面的service层 propagation为Propagation.REQUIRED,而dao层的propagation=Propagation.REQUIRES_NEW。dao层执行的时候重新生成一个新的事务,service层的事务将会挂起,当dao层方法执行完后,service挂起的事务将被激活。
实际中,不会dao层和service层都加事务,一般都加载service层。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!