Spring @Transactional如何真正起作用?

时间:2016-08-31 07:08:39

标签: java spring hibernate

问题是我是否必须在我的DAO类中的每个CRUD方法中包含@Transactional?

然后我在方法中添加注释,导致此异常,但其他方法不会导致此异常。是因为其他方法很简单,执行时间不是太长了吗?

1 个答案:

答案 0 :(得分:3)

常规规则:将@Transaction注释添加到启动(并完成)工作单元的方法中。这是你的程序中应该在事务中处理的部分(意思是它应该完全保存或完全保存)。

在具有理想设计的Web应用程序中,将@Transaction注释放在控制器调用的服务上。 在另一个不太理想的Web应用程序中,控制器调用多个服务方法(两者都必须在同一个事务中处理),您必须将@Transaction注释放在控制器方法中。