我正在使用Spring-Boot
和JPA
编写的应用程序,该应用程序是从头开始的。因此,我正在考虑在其中引入事务管理。应用程序中有实体和服务层。现在我在想的是与Spring声明式事务管理一起使用。因此,我决定将@Transaction
注释放在服务层本身的顶部,如下所示,请告知是否有任何最佳方法可以做到这一点,也请注意我正在使用spring-boot- starter-data-jpa依赖项本身
@Transactional
public class UserService {
}
答案 0 :(得分:0)
不清楚您的问题是什么;您是否只想让别人告诉您您的方法有效?
当您设计具有分层体系结构的Spring应用程序时,通常在服务层上具有事务边界。然后,服务层使用Spring Data存储库(位于数据访问层中)。您在服务层上使用@Transaction
批注的方法是执行此操作的一种常用方法。所以您走在正确的轨道上。
答案 1 :(得分:0)
问题有点过于笼统,但是您的思维方式是使用声明式事务管理的标准且可接受的方式之一。我通常虽然按照服务方法来做。这样,您可以指定事务是否是只读的,并为每个特定的服务方法指定其他一些参数,我认为这种方法更为灵活。