Seb*_* G. -1 java spring jpa spring-data spring-data-jpa
所以我的问题如下:
我有一个表想要应用过滤器。该过滤器应调用一个查询,该查询根据给定的信息查找报告。
这就是我的查询的样子:
@Query("SELECT r FROM Report r WHERE r.importanceLevel = COALESCE(importance,'%')" +
"AND r.source = COALESCE(source,'%')" +
"AND r.resolvedStatus = COALESCE(resolvedStatus,'%')" +
"AND r.header LIKE + '%' COALESCE(query,'%') + '%'")
List<Report> getReportsByAppliedFilter(@Param("importance") int importance, @Param("source") String source,
@Param("resolvedStatus") int resolvedStatus, @Param("query") String query);
Run Code Online (Sandbox Code Playgroud)
问题是:IntelliJ 不喜欢以下内容:
LIKE + '%' COALESCE(query,'%') + '%'
Run Code Online (Sandbox Code Playgroud)
错误:预期,得到+
您知道如何解决这个问题吗?
是的,该睡觉了。您不使用 + 来 concat ,而是使用 concat() :
@Query(value = "SELECT r FROM Report r WHERE r.importanceLevel = COALESCE(importance,'%')" +
"AND r.source = COALESCE(source,'%')" +
"AND r.resolvedStatus = COALESCE(resolvedStatus,'%')" +
"AND r.header LIKE CONCAT('%', COALESCE(query,'%'), '%')")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8827 次 |
| 最近记录: |