如何使用原生 SQL 查询 Spring 存储库

How to query a Spring Repository with native SQL

我有一个简单的 React/Spring-Boot 应用程序可以创建和存储许可证。我正在尝试弄清楚如何将搜索功能整合到应用程序中。

基本概念是用户输入一个字符串并按下“搜索”按钮,这将触发对 Spring 中的 API 的查询 Boot:

license/search/{searchString}

查询将在多个不同的字段中搜索相同的字符串。例如

select * from licenses where company like "'%" + searchString + "%'" or product like "'%" + searchString + "%'" or etc... 

如何使用 Spring 引导中的存储库对其进行编码?我已经创建了控制器存储库,但我需要知道如何创建查询。

编辑:这是当前存储库:

public interface LicenseRepository extends JpaRepository<License, Long>
{
    License findByFullName(String fullName);
    List<License> findAllByUserId(String id);        
}

您当前尝试的查询对于查询方法而言可能过于复杂。相反,请考虑使用 @Query 注释:

@Query("SELECT l FROM License l WHERE l.company LIKE %:company% OR p.product LIKE %:product%")
List<Movie> searchByCompanyLikeOrProductLike(@Param("company") String company, @Param("product") String product);