私はこのクエリのバリエーションを試し続けており、これは起こりそうにないようです。私もこの投稿を参照しました:Path Expected for Join! Nhibernate Errorと私のクエリに同じロジックを適用するように見えることはできません。私のUser
オブジェクトにはUserGroup
コレクションがあります。HQLエラー:結合に予想されるパス
私は、ユーザーへの関連付けを保持するエンティティに名前を付ける必要がある
@NamedQuery(
name = "User.findByGroupId",
query =
"SELECT u FROM UserGroup ug " +
"INNER JOIN User u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)
「パス」とは何ですか?私はHQLのドキュメントを検索しましたが、定義は見つかりませんでした。 – gwg
これはエンティティをリンクする必要があることを意味します。上の例の例では、ug.userをどのように配置しているかに注意してください。その前にugがなければエラーが発生します。また、 'ug.user u'の 'user'はClass UserGroupのフィールドの名前にする必要があります! – Lawrence
このHQL構文は面倒です。私は多くの例を見つけなければならず、あなたを見つけました。 –