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版本的最新博客中对此进行了解释:
春季数据的方法解析使用前缀的关键字,例如
find
,exists
,count
,和delete
和终端By
关键字。一切你把之间find
,并By
让您的方法名称更具表现力,并且不影响查询的推导。
以上是 Spring Data JPA findBy / findAllBy之间的区别 的全部内容, 来源链接: utcz.com/qa/432305.html