我正在开发一些应用程序,我正在使用两个JPA存储库。
public interface AuthorityRepository extends JpaRepository<Authority, Integer>{
}
和
public interface UserRepository extends JpaRepository<User, Integer> {
}
我的问题是:服务层有什么更好:一个存储库有一个服务层,或者多个存储库有一个服务层。交易中只有一个区别(或不是?)。
因此,对于一次交易,一次保存或多次保存最好有一个交易。
@Transactional
public void createUser(User user) {
// TODO Auto-generated method stub
userRepository.save(user);
}
或
@Transactional
public void createUser(User user) {
// TODO Auto-generated method stub
userRepository.save(user);
authRepository.save(user.getAuth())
}
感谢您的帮助
答案 0 :(得分:1)
如果您希望在两次保存中使用“全有”或“无”行为,则需要在同一事务中调用它们。您的服务层是定义事务工作单元的地方,因此第二个选项是正常的工作方式。