Ошибка HQL: путь, ожидаемый для соединения
Я продолжаю пробовать варианты этого запроса и, похоже, не могу этого сделать. Я также ссылался на этот пост: путь, ожидаемый для Join! Ошибка Nhibernate и, похоже, не может применить ту же логику к моему запросу. Мой
2 ответа:
select u from UserGroup ug inner join ug.user u where ug.group_id = :groupId order by u.lastname
Как именованный запрос:
@NamedQuery( name = "User.findByGroupId", query = "SELECT u FROM UserGroup ug " + "INNER JOIN ug.user u WHERE ug.group_id = :groupId ORDER BY u.lastname" )
используйте пути в инструкции HQL, от одного объекта к другому. Смотрите Hibernate документация на HQL и присоединяется для сведения.
вам нужно назвать сущность, которая содержит ассоциацию с пользователем. Например,
... INNER JOIN ug.user u ...
Это "путь" сообщение об ошибке жалуется на -- путь от группы пользователей к сущности пользователя.
Hibernate использует декларативные соединения, для которых условие соединения объявляется в метаданных сопоставления. Вот почему невозможно построить собственный SQL-запрос, не имея пути.