java - Spring Data Rest 按关键字搜索

标签 java spring-data spring-data-rest

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

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

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

最佳答案

在存储库上使用@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);
}

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

关于java - Spring Data Rest 按关键字搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49249350/

相关文章:

java - 数据库架构/数组即列/各种大小

java - 模拟 protected 构造函数

java - 线程池执行器 : how does it reuse threads

Java 持久性复合 ID

java - Spring Data Rest Repository 不会公开删除

jpa - kotlin 数据类 + bean 验证 jsr 303

java - 在 Spring Data REST 中静态配置 rel

java - 将 Enum 类名本身作为 String 获取的最佳方法

java - Spring PageableArgumentResolver 已弃用,如何使用 PageableHandlerMethodArgumentResolver?

spring - Spring Data Mongodb Reactive 存储库中 findAll 方法的分页