问题描述
之前的项目里没有Dao,不过我现在觉得Service层有比较多的关于数据库的代码。因此我现在多做一层Dao层。我在Service层是通过@Service和@Transactional注解的,并且通过@Autowired、@PersistenceContext注解自动装载一个EntityManager。之前就是通过EntityManager持久化的。也就是我现在要将EntityManager转移到Dao层,但事务也是同样在Service开启和关闭。大家是怎么做的呢?
解决方案
本帖最后由 jude_cn 于 2011-04-21 17:10:06 编辑
解决方案二:
事务处理一般是在sevice层,这样便于处理一些批处理的情况。DAO层最好写单独的方法,复杂的业务逻辑放在Sevice或action中去做
解决方案三:
事务在service层被打开,之后service调用dao做持久化操作。但是Dao对象怎么获取跟Service层同一个EntityManager持久化对象。
时间: 2024-11-01 10:16:14