Skip to content
Advertisement

HQL ERROR: Path expected for join

I keep trying variations of this query and can’t seem to make this happen. I’ve also referenced this post: Path Expected for Join! Nhibernate Error and can’t seem to apply the same logic to my query. My User object has a UserGroup collection.

I understand that the query needs to reference entities within the object, but from what I’m seeing I am…

@NamedQuery(
  name = "User.findByGroupId",
  query =
    "SELECT u FROM UserGroup ug " +
    "INNER JOIN User u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)

Advertisement

Answer

select u from UserGroup ug inner join ug.user u 
where ug.group_id = :groupId 
order by u.lastname

As a named query:

@NamedQuery(
  name = "User.findByGroupId",
  query =
    "SELECT u FROM UserGroup ug " +
    "INNER JOIN ug.user u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)

Use paths in the HQL statement, from one entity to the other. See the Hibernate documentation on HQL and joins for details.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement