事务处理到底在哪里处理1)在DAO层处理2)service层
DAO层:处理单个数据对象的增删改查
service层:处理单个请求其中会操作到多个对象。
基于上述个人感觉还是在service层加事务处理,DAO层进行的操作只要反应到Spring持久对象状态,到service的时候才需要把内部的对象状态反应到数据库。
在service层进行事务处理可以用1)单存的AOP 2)spring框架提供的TransationProxyFactoryBean(内部也是用Aop实现的)
TransationProxyFactoryBean创建了一个代理,截获方法的调用。
项目中的例子
spring配置文件下和hibernate相关配置
bean使用的配置: