Spring Data JPA findBy / findAllBy之间的区别

使用Spring Data JPA关键字之间有什么区别:

List<SomeEntity> findBySomeCondition();

List<SomeEntity> findAllBySomeCondition();

回答:

不,它们之间没有区别,它们将执行完全相同的查询,All当从方法名称派生查询时,Spring

Data会忽略该部分。唯一重要的位是By关键字,其后的所有内容均被视为字段名称(其他关键字(如OrderBy偶然会导致某些奇怪的方法名称)之类的关键字除外findAllByOrderByIdAsc)。

这意味着这样的事情是完全正确的:

List<SomeEntity> findAnythingYouWantToPutHereBySomeCondition();

并将执行与以下命令完全相同的SQL查询:

List<SomeEntity> findBySomeCondition();

要么

List<SomeEntity> findAllBySomeCondition();

我从没有在文档中看到有关此行为的任何正式描述,但是在有关即将发布的Spring

Data(Kay)2.0版本的最新博客中对此进行了解释:

春季数据的方法解析使用前缀的关键字,例如findexistscount,和delete和终端By关键字。一切你把之间find,并By让您的方法名称更具表现力,并且不影响查询的推导。

以上是 Spring Data JPA findBy / findAllBy之间的区别 的全部内容, 来源链接: utcz.com/qa/432305.html

回到顶部