[英]How to write JPARepository query where a query parameter is a list?
Spring Data的JPARepository
文档提供了以下示例
List<User> findByLastname(String lastname);
for和SpringData将完成生成正确查询的所有工作,并将返回正确的用户。
但是假设我想获得50个用户,并且我有他们的姓氏列表。 我不想调用上述方法50次。 我想将JPA称为
select *
from user
where last_name in ('N0', 'N1', 'N2'... 'N49');
现在查看文档,我看到了一些可能性,例如命名查询和规范。 命名查询似乎需要在Java批注中指定SQL。 在示例中,与findAll
方法使用的规范具有is
和hasMoreThan
类型方法,但是我看不到任何会in
查询中变成in
。 规范的Javadocs没有任何示例用法。
一个人如何在创建一个方法JPARepository
通过的可能性列表查询?
创建一个要用作查询参数的姓氏数组。 然后尝试以下方法:findAllInLastName(List lastNames); 扩展JpaRepository类时,只要遵循创建查询方法名称的正确格式,Spring数据就会自动搜索合适的查询方法。 希望这对您有所帮助。 并尝试阅读Spring Data在线文档。 干杯哥!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.