尝试收集并理解@Transactional注释的要点并交叉一点。因此,在使用Transactional注释时我们需要记住的主要事项是:
不幸的是我没有找到问题的答案:将Transactional注释更好地放到类或方法中?我们可以考虑不同的情况,但大多数情况下我感兴趣在我们有几个方法必须有这个注释和一些不要的时候。
另外,也许你想在这个列表中添加一些点,这真的很棒。
答案 0 :(得分:2)
这是我能想到的专业人士和(隐含)缺点的清单。
Pro方法级别:
专业级别:
答案 1 :(得分:0)
在我看来,最好用@Transactional注释分别标记每个方法(以指示此方法正在更新某些内容),而不是标记整个类。这将产生更多代码,并且在某些情况下可能是多余的,但请设想您的服务中有10种方法。这些方法中有九种正在更新某些内容,而其中一种只是阅读。您的代码正在使用ORM(例如Hibernate),并且您的方法中有一些由Hibernate管理的对象。在添加新逻辑期间,您意外地更改了由Hibernate管理的对象中的一个字段。在这种情况下,hibernate将在只能读取的方法中触发更新sql指令。它可能会产生难以发现的错误。