2014-02-14 101 views
2

我試圖使這個簡單的JPA查詢工作:春天JPA的數據查詢與LIKE條件拋出異常運行時

@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參數改爲一個字符串文字,例如。 'foobar',那就很好。有人知道這裏有什麼問題嗎?

回答

4

顯然這是Spring Data JPA 1.3.1中的bug。升級到1.3.4後,按預期工作。