Java 错误:意外标记“%”:类似JPQL的%函数(:namedParam)%
使用此JPQL查询时,我得到了意外的标记“%”:在我的示例中,我使用了upper函数,但它可以是任何人Java 错误:意外标记“%”:类似JPQL的%函数(:namedParam)%,java,jpa,spring-data-jpa,jpql,Java,Jpa,Spring Data Jpa,Jpql,使用此JPQL查询时,我得到了意外的标记“%”:在我的示例中,我使用了upper函数,但它可以是任何人 @Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE %UPPER(:asunto)% ") public Entity namedMethod(@Param("asunto") String asunto)); 我需要添加LIKE%:param%,以查找文本中参数的任何重合 已尝试: @Query("SELECT s FROM
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE %UPPER(:asunto)% ")
public Entity namedMethod(@Param("asunto") String asunto));
我需要添加LIKE%:param%,以查找文本中参数的任何重合
已尝试:
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE '%'UPPER(:asunto)'%' ")
意外标记:上限
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE '%UPPER(:asunto)%' ")
意外标记:上限
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE '%UPPER(:asunto)%' ")
那里也没有运气
提前感谢。已解决,有两种方法可以解决此问题:
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE '%' || UPPER(:asunto) || '%' ")
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE CONCAT('%', CONCAT(UPPER(:asunto),'%')) ")
EDIT-- Thanks to @Nicolau:
@Query("SELECT s FROM Entity s WHERE UPPER(s.asunto) LIKE UPPER(CONCAT('%',:asunto,'%'))")
两种方法都有效
谢谢@M.Prokhorov。就这样谢谢@M.Prokhorov!Simpler:@QuerySELECT s可能与suppers.asunto类似于UPPERCONCAT“%”的实体s重复:asunto,“%”