Sql 使用“处理通配符”;例如;Spring中的JPA查询

Sql 使用“处理通配符”;例如;Spring中的JPA查询,sql,rest,spring-data-jpa,Sql,Rest,Spring Data Jpa,这是一个简单的问题,但我在处理查询中的通配符时遇到了问题。我试图为一个名为“legacyId”的字符串参数包含一个过滤器。在本栏中,用户可以输入“LEG12345”、“LGC12345”等数据,也可以跳过“LEG”和“LGC”前缀。在我的存储库类中,我的查询如下所示 @Query("SELECT sg from StoreGroup sg WHERE sg.legacyId LIKE %:legacyId%") List<StoreGroup> findAllB

这是一个简单的问题,但我在处理查询中的通配符时遇到了问题。我试图为一个名为“legacyId”的字符串参数包含一个过滤器。在本栏中,用户可以输入“LEG12345”、“LGC12345”等数据,也可以跳过“LEG”和“LGC”前缀。在我的存储库类中,我的查询如下所示

@Query("SELECT sg from StoreGroup sg WHERE sg.legacyId LIKE %:legacyId%") 
List<StoreGroup> findAllByLegacyId(@Param("legacyId") String legacyId, Pageable pageable);
@Query(“从存储组sg中选择sg,其中sg.legacyId LIKE%:legacyId%”)
列表findAllByLegacyId(@Param(“legacyId”)字符串legacyId,可分页;
但它并没有像预期的那样按legacyId过滤存储,而是返回我的GET/ALL语句中的所有内容请帮助。谢谢

我的端点当前看起来像这样 获取:


http://localhost:8089/store_group/?key=7db25859ffd922010569446cf9b5e34ddee7b89f&legacy_id=“LGC12345”

您是否正在实现自己的REST控制器?或者您正在使用SpringREST存储库控制器???我正在实现自己的控制器。我还创建了服务层,并将legacyId作为参数包含在GET端点中,但通配符查询的工作方式与过滤字符串ID的方式不同