此版本仍在开发中,尚未被视为稳定版。如需使用最新的稳定版本,请访问 Spring Data JPA 4.0.4spring-doc.cadn.net.cn

锁定

要指定要使用的锁模式,可以在查询方法上使用 @Lock 注解,如下例所示:spring-doc.cadn.net.cn

示例 1. 在查询方法上定义锁元数据
interface UserRepository extends Repository<User, Long> {

  // Plain query method
  @Lock(LockModeType.READ)
  List<User> findByLastname(String lastname);
}

此方法声明会使触发的查询配备一个 LockModeTypeREAD 的锁模式。您也可以通过在仓库接口中重新声明 CRUD 方法并添加 @Lock 注解来定义其锁定行为,如下例所示:spring-doc.cadn.net.cn

示例2. 在CRUD方法上定义锁元数据
interface UserRepository extends Repository<User, Long> {

  // Redeclaration of a CRUD method
  @Lock(LockModeType.READ)
  List<User> findAll();
}