2015-02-20 7 views
0

Как указано в документации (http://docs.spring.io/spring-data/jpa/docs/current/reference/html/),i пытаюсь написать запрос, как это:Query булево с несколькими параметрами

public Page<AnyObject> findByActiveTrueAndUser(Boolean ativo, User user, Pageable pageable); 

Но I'm получаю следующее сообщение об ошибке: Что может быть неправильно

? значение параметра [истинно] не соответствует ожидаемому типу [.com.User]

+0

это просто POJO, аннотированный аннотациями JPA. –

ответ

1

Ваше имя метода

findByActiveTrueAndUser(...

заявляет ваш запрос должен фильтровать active = true и пользователем. Пользователь является единственным параметром для фильтрации, так как active = true подразумевается именем метода. Так оно и должно быть

findByActiveTrueAndUser(User user, Pageable pageable); 

иначе, изменить имя метода для

findByActiveAndUser(...

динамически фильтровать active и пользователя.

1

при наличии findByActiveTrueAndUser пружинных данных ожидает только один параметр (User в данном случае), так как вы сказали, уже весной, чтобы дать вам те, которые активно (findByActiveTrue часть).

Поэтому, поскольку вы передаете логическое значение в качестве первого параметра, оно не может соответствовать ожидаемому типу параметра User.

Так изменить сигнатуру метода либо

public Page<AnyObject> findByActiveAndUser(Boolean active, User user, Pageable pageable); 

или

public Page<AnyObject> findByActiveTrueAndUser(User user, Pageable pageable); 
Смежные вопросы