@Query("select p from Person p where p.id=?#{principal=='anonymousUser'?0:principal.id})")
public Person getCurrentUser();
Этот метод предназначен для возврата текущего пользователя/человека или ничего (в базе данных нет пользователя с id=0), если пользователь анонимный. И в первом случае работает нормально, но при анонимности пользователя выдает ошибку:
org.hibernate.QueryException: установлены не все именованные параметры: [1] [выберите p из Person p, где p.id=?1)]
Кажется, теперь он ожидает какие-то параметры, но почему? Разве запрос не должен быть
select p from Person p where p.id=0
?
0
наnull
- person Muhammad Hewedy   schedule 26.03.2016@Query("select p from Person p where p.id=?#{principal=='anonymousUser'?null:principal.id})") public Person getCurrentUser();
- person darwinjob   schedule 03.04.2016