Spring Data Rest按关键字搜索

时间:2018-03-13 06:08:35

标签: java spring-data spring-data-rest

我正在尝试找到按关键字实现搜索的解决方案。最终API应该看起来像/persons/search?keyword=test。搜索应该检查几列人员表(firstName, lastName, school, ...)

在结果列表中,我需要包含至少在一列中包含关键字的人员列表。

使用Spring Data Rest实现这一目标的最佳解决方案是什么?

1 个答案:

答案 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);
}

注意:我做了类似的事情,但我现在没有确切的代码,所以只需查看语法,但我能够实现的是搜索能力使用单个键在多个列上。