锁定
要指定使用的锁定模式,可以在查询方法上使用 @Lock
注解,如下例所示:
示例 1. 在查询方法上定义锁元数据
interface UserRepository extends Repository<User, Long> {
// Plain query method
@Lock(LockModeType.READ)
List<User> findByLastname(String lastname);
}
此方法声明会导致触发的查询被赋予 LockModeType
为 READ
的锁。你也可以通过在仓库接口中重新声明 CRUD 方法并添加 @Lock
注解来为这些方法定义锁,如下例所示:
示例 2. 在 CRUD 方法上定义锁元数据
interface UserRepository extends Repository<User, Long> {
// Redeclaration of a CRUD method
@Lock(LockModeType.READ)
List<User> findAll();
}