2014-02-14 1 views
2

Я пытаюсь сделать эту простую работу JPA запроса:Spring Data 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

По-видимому, это было bug весной Данные JPA 1.3.1. После обновления до 1.3.4 он работает так, как ожидалось.