我必须在spring boot中编写一个JPQL查询,它等同于下面的查询。
QUERY:
SELECT * FROM flow.logs where feature_id like '%|data:6789%';
我做的JPQL查询:
@Query("SELECT logs FROM Logs logs WHERE logs.featureId like '%|data\\: :data%'")
public List<Logs> getLogsByStationId(@Param("data")Integer data);
查询无效,并提供以下异常:
Unknown parameter position: 1; nested exception is
java.lang.IllegalArgumentException: Unknown parameter position: 1
任何人都可以告诉我我的代码有什么问题。
答案 0 :(得分:2)
您可以使用 CONCAT 功能,如下所示:
@Query("SELECT logs FROM Logs logs WHERE "
+ "logs.featureId like CONCAT('%|data:', :data, '%')")