Spring @Transactional最佳做法

问题描述

我想知道我对@Transactional的实现是否正确。

当我第一次认识@Transactional时,我在每个一次可多次调用mongodb的方法之上的存储库类中使用了它。 但是,我停止使用该方法,并将@Transactional放在我的服务类之上,以便我的服务的每种方法都在单个事务中运行。例如,从数据库中找到一个对象,验证用户输入,然后修改该对象并将其保存在数据库中..知道有时我需要抛出异常,例如未找到或错误的请求...

我的实现正确吗?

解决方法

是的,当您希望服务方法中的所有事情都在一个事务中发生时,通常使用@Transactional注释服务方法。

,

您的方法不会造成任何问题,当我们希望方法中的语句在一个事务中发生时,我们使用@Transactional操作。通常我们在服务类中使用它,但是即使在其他地方使用它也不会带来任何问题。

如果您需要有关其工作方式的详细信息,请参见

https://dzone.com/articles/how-does-spring-transactional