Sen*_* RS 2 java spring hibernate transactions
谁能告诉我spring/hibernate 中的@Transactional和@Transactional(readOnly=true)之间有什么区别。
为什么我们需要在Service层而不是DAO层使用@Transactional/@Transactional(readOnly=true)注解?
请指教
小智 5
@Transactional对比@Transactional(readOnly=true):
默认情况下,布尔值readOnly表示@Transactional= @Transactional(readOnly=false),这实际上意味着您暗示该方法需要写访问权限。对于不需要修改数据的方法,可以用 进行注释readOnly=true。但这并不意味着使用注释会自动为您处理该问题 - 您仍然需要设置实体管理器等才能有效地使用它。查看此页面了解更多信息。
我们把注解放在Service层而不是DAO层的一个主要原因是我们通常将业务逻辑定义在service层,而一个逻辑可能需要多个数据库交互,而放在service层则封装了所有的db调用将在一个事务中完成(例如,如果失败则回滚所有数据库调用等)。
| 归档时间: |
|
| 查看次数: |
6192 次 |
| 最近记录: |