具有LIKE条件的Spring Data JPA Query在运行时抛出异常

时间:2014-02-14 13:00:17

标签: java spring jpa spring-data spring-data-jpa

我正在尝试使这个简单的JPA查询工作:

@Query("SELECT p FROM PersonImpl p WHERE p.customerReference LIKE :query ESCAPE '\\\\'")
public Page<Person> findByQuery(@Param("query") String query, Pageable pageable);

但是在应用程序启动时我得到了异常:

java.lang.IllegalArgumentException: Illegal like pattern :query!
at org.springframework.data.jpa.repository.query.StringQuery.getLikeTypeFrom(StringQuery.java:205)
at org.springframework.data.jpa.repository.query.StringQuery.parseLikeBindings(StringQuery.java:155)

当我将:query param更改为字符串文字时,例如。 'foobar',那很好。有谁知道这里的问题是什么?

1 个答案:

答案 0 :(得分:4)

显然,它是Spring Data JPA 1.3.1中的bug。升级到1.3.4后,它按预期工作。