多少複雑な要件の組み合わせを使用してデータベースをクエリしたいとします。私はSQLを使ってこれを行う方法を知っていますが、このクエリの結果をHibernateにマップするのに問題があります。経験から私は通常これのようなことをする "適切な休止状態の方法"があることを知っていますが、私はそれを見つけるのに苦労しています。サブクエリのLIMITを含むSQLクエリをHibernateに変換する
抽出したいデータは、親子関係で構成されています。親エンティティCompany
と子エンティティEmployee
を呼び出しましょう。両者の関係はEmployeeToCompany
という表で指定されています。
会社の数が膨大であるため、最初の10文字しか取得しません。通常のJOINを実行してメインクエリにLIMITを設定すると、は最初の10社の社員/私は最初の10社の会社/従業員のペアをすべて取得したいと考えています。私はSession.createSQLQueryを使用して休止状態からこのクエリを実行しているんだけど、私はそれは難しい、これらの結果をマッピングするために見つける
:私は次のSQLクエリを作成した理由です。問題は、結果をEmployee
とCompany
エンティティの両方に戻したいということです。私はカスタムResultTransformer
を作成してこれを行うことができましたが、結果は非常に控えめであり、よりよい方法があるはずです。