Spring Data JPA リファレンス(以前のHades ) から、
リポジトリ インスタンスの CRUD メソッドは、デフォルトでトランザクション対応です。
メソッドが複数のリポジトリをカバーする場合、例:
@Transactional
public void addRoleToAllUsers(String roleName) {
Role role = roleRepository.findByName(roleName);
for (User user : userRepository.readAll()) {
user.addRole(role);
userRepository.save(user);
}
}
参照状態
リポジトリでのトランザクション構成は無視され、外部のトランザクション構成によって実際に使用されるトランザクション構成が決定されます。
内部トランザクションが無視される動作は、デフォルトのSpringトランザクション動作ですか、実際にはSpring Data JPAによって明示的に処理されますか?