私はHibernateを初めて使用し、iBATISのファンですが、新しい作業環境ではHibernateを使用する必要があります。私の職場の現在のシナリオでは、休止状態ではうまく処理できないと感じる複雑な選択クエリがたくさんあります。
そこで、たくさんの結合と条件を使用して、独自のネイティブSQL選択クエリを作成することを考えました。ここまでは順調ですね。
EntityManagerを使用してクエリを実行し、結果セットを返します。サンプルコードは次のようになります。
String sqlQuery="select COL_1, COL_2 from MY_TABLE_NAME";
Query q=em.createNativeQuery(sqlQuery,);
List resultList=q.getResultList();
これは単なるコードサンプルであることに注意してください。この例のような結果セット(COL_1とCOL_2)を、2つ(またはそれ以上)のフィールドを持つJAVAクラスにマップできるようにする方法が必要です。
また、このJAVAクラスをテーブルにリンクするエンティティにすることはできないため、iBATISで行う方法と同じように、JAVAクラスをresultClassとして定義する方法が必要です。
それを行う方法はありますか?そのため、JAVAクラスのどこかにマッピングを定義すると、クエリの結果セットが自動的にJAVAクラスにマッピングされます。