2012-04-18 4 views
-2

助けてください。このMySQL構文はHQLに変換されていますか?このMySQL-to-HQL変換は正しいですか?

のMySQL:

SELECT item.* FROM item, itemGroup 
WHERE item.groupId = itemGroup.groupId 
AND itemGroup.display = 1 
ORDER BY itemGroup.displayOrder ASC 

HQL:

FROM item AS I, itemGroup AS IG 
WHERE I.groupId = IG.groupId 
AND IG.display = 1 
ORDER BY IG.displayOrder ASC 

ありがとうございました。

+1

実行して確認します。休止状態は、コミュニティよりも速く、より良いと言えるでしょう – zerkms

答えて

1

おそらくそれは正しくありません(クラス名には大文字小文字を使用する場合を除いて)。

HQLでは、データベースからテーブル名またはカラム名を使用しません。その代わりに、マップされたクラスとゲッター/セッターまたはメンバー変数の名前を使用します。

また、クラスを1つ選択するだけで、Hibernateの結合クラスが自動的に結合されます。

FROM Item AS i 
    WHERE i.itemGroup.display = 1 
    ORDER BY i.itemGroup.displayOrder ASC 

マッピングファイルで指定するitemとitemGroupの間の結合。 また、HQL文で 'inner join'句を使用することもできます。

+0

ありがとうございました。あなたは私に非常に貴重な助言をくれました - 私の質問は今働いています。 – Dmytro

関連する問題