사용할 잠금 모드를 지정하려면 다음 예제와 같이 쿼리 메서드에 @Lock
annotation을 사용할 수 있습니다.
Example 1. Defining lock metadata on query methods
interface UserRepository extends Repository<User, Long> {
// Plain query method
@Lock(LockModeType.READ)
List<User> findByLastname(String lastname);
}
이 메소드 선언으로 인해 트리거되는 쿼리에 LockModeType
이 READ
로 제공됩니다. 다음 예와 같이 저장소 인터페이스에서 CRUD 메서드를 다시 선언하고 @Lock
annotation을 추가하여 해당 메서드에 대한 잠금을 정의할 수도 있습니다.
Example 2. Defining lock metadata on CRUD methods
interface UserRepository extends Repository<User, Long> {
// Redeclaration of a CRUD method
@Lock(LockModeType.READ)
List<User> findAll();
}