【发布时间】:2015-01-07 18:19:28
【问题描述】:
我对将Spring注解放置在哪一层有疑问?这是两种情况:
案例:将
@Transactional放入DAO层案例:将
@Transactional放入服务层?
我只使用 Spring,而不是 SpringMVC。
【问题讨论】:
-
除了正确答案之外,将注释放在 DAO 上也没有什么坏处,因为它会(默认情况下)重用现有事务,不要打开一个新的。
-
我经常想知道是否应该积极鼓励这种做法,显然是通过
required传播。@Transactional注释在更高层中使用时拓宽了工作单元。由于 DAO 方法是可能的最细粒度的工作单元,因此理所当然地也应该对其进行注释,至少假设 RDBMS 需要事务隔离。
标签: java spring hibernate transactions annotations