我正在尝试找到按关键字实现搜索的解决方案。最终API应该看起来像/persons/search?keyword=test
。搜索应该检查几列人员表(firstName, lastName, school, ...)
。
在结果列表中,我需要包含至少在一列中包含关键字的人员列表。
使用Spring Data Rest实现这一目标的最佳解决方案是什么?
答案 0 :(得分:1)
在存储库中使用@Query
注释,您可以执行以下操作:
public interface PersonRepository extends CrudRepository<Persons, Long> {
@Query("SELECT p FROM Persons where LOWER(p.firstname) like :key%"
+ " or LOWER(p.lastname) like :key%" )
public List<Person> searchBy(@Param("word") String key);
}
注意:我做了类似的事情,但我现在没有确切的代码,所以只需查看语法,但我能够实现的是搜索能力使用单个键在多个列上。