锁定
要指定要使用的锁模式,可以在查询方法上使用 @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();
}