为什么Spring Data JPA文档描述了仅以find开头的查询方法?

时间:2018-08-24 12:10:17

标签: java spring spring-data-jpa code-documentation

Reference documentation of Spring Data JPA framework通过示例描述查询方法。这种方法的示例是findByEmailAddressAndLastname。它以find开头。然后,它们在方法名称中列出所有受支持的关键字。我发现命名查询必须以find开头。

但是,尽管以下方法以exists开头,但它还是按设计的工作方式

@Repository
public interface UserRepository extends CrudRepository<User, Integer> {
    boolean existsUserByEmail(String email);
}

它运行命令

select user0_.id as col_0_0_ from users user0_ where user0_.email=? limit ?

并检查用户是否存在。但是创建方法时,我依靠的是IDE,而不是文档。在Spring Data JPA文档中或其他任何地方(可能是Query DSL reference)中是否存在可以用于创建此类方法的语句?

1 个答案:

答案 0 :(得分:1)

从Spring in action 4th Edition开始,它不仅支持“ find” “如您所见,该动词已被读取,与上一个示例相反。 Spring Data在方法名称中允许使用四个动词:获取,读取,查找和计数。的 获取,阅读和查找动词是同义词” https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#new-features.1-11-0还在这里提到了关键字EXISTS作为一项新功能。