我正在尝试编写一个 Micronaut Data JPA finder 来查找employees
与字符串列表匹配的所有内容。
给定以下员工(名字,姓氏)
- 约翰·多伊
- 简·多伊
- 彼得潘
- 西尔维奥·旺勒
- 弗兰卡·波坦特
- 弗兰克·波特
假设用户使用Silvio之类的查询查询系统,那么结果应该是
- 员工:西尔维奥·旺勒
如果查询是Frank,则结果应该是
- 员工:弗兰卡·波坦特
- 员工:弗兰克·波特
如果查询是坦率的锅,结果也应该(不区分大小写)
- 员工:弗兰卡·波坦特
- 员工:弗兰克·波特
我设法为单个字符串编写了一个查找器,如下所示
Page<Employee> findAllByLastNameIlikeOrFirstNameIlike(
String lastName, String firstName, Pageable pageable);
对于像 frank pot这样的查询,我想将字符串标记/拆分为列表 ["frank", "pot"] 并且想知道我是否可以实现类似的东西
Page<Employee> findAllByLastNameIlikeOrFirstNameIlike(
List<String> lastName, List<String> firstName, Pageable pageable);
甚至更好地使用 JPA 的 Criteria API。您将如何实现这样的搜索器?你能给我指个方向吗?