关于service层中进行事物管理,调用到DAO的问题
初spring和hibernate
在分层开发的时候,如果在DAO层中用JdbcTemplate或者HibenateTemplate去实现增删改查方法
在service层要进行事物处理,调用了两个DAO的create方法,而这两个DAO的create方法是用getHibernateTemplate()得到
的HibernateTemplate中的saveOrUpdate去实现的,这样做的话在DAO层是不是已经提交了,在service层就无法掉用DAO的creata方法并进行事物处理了
如果调用Spring 的getJdbcTemplate()的方法去实现DAO又是什么情况呢
------解决方案--------------------
spring的事务,是通过xml文件配置的。
在配置事务的时候,需要设置你要拦截的bean规则。这样在执行到对应的bean的时候,由spring帮你开启事务,执行CURD,成功提交事务,失败则回滚。
这个你不需要显示的在dao中处理。
------解决方案--------------------
如果在service层配置了事务,那么Hibernate的事务机制就失效了。