Hibernate Named Query с проблемой Join - PullRequest
2 голосов
/ 27 октября 2010

Я пытаюсь создать именованный запрос, который объединяет две таблицы на основе идентификатора.Я получаю HibernateException, в котором говорится: «ошибки в именованных запросах: Users.getAllUsers

у компонента EJB есть личная переменная Set image. Объект EJB сопоставляется с таблицей изображений для всех пользователей. Это моеименованный запрос.

@NamedQueries ({
    @NamedQuery(name = "Users.getUserImage",
    query("from Users as users INNER JOIN fetch users.image as image WHERE users.userId = image.userId" AND users.userId =: passedId)
})

Я передаю переменную 1 в качестве аргумента passId в именованном запросе.

Я довольно новичок в спящем режиме, но мне сказали использовать для этого команду fetchтак как у меня есть набор внутри bean-объекта User, который содержит кучу объектов bean-объекта UserImage. Кто-нибудь знает, почему это не будет работать? Фактический SQL-запрос, который я основываю на этом, который работает в моем редакторе sql, равен

ВЫБЕРИТЕ * ИЗ ПОЛЬЗОВАТЕЛЕЙ, КАК И ГДЕ ВНУТРЕННЕЕ СОЕДИНЯЕТСЯ user_images как изображения ON users.userId = images.userId AND users.userId = 1;

1 Ответ

0 голосов
/ 27 октября 2010

Разобрался. Оказалось, что мой запрос был правильным, ошибка была в том, что я неправильно передавал параметр из своего Дао.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...