4
私は左外部結合でフェッチしている3つのテーブル/クラスを持っています。私は、次のクエリを実行している:createSQLQuery()を使用してテーブルを結合するとき、Hibernateがnullオブジェクトを返すことはできますか?
List<Object[]> l = session.createSQLQuery("SELECT a.*, b.*, c.* " +
" FROM (table_a a INNER JOIN table_b b ON a.some_id = b.some_id) " +
" LEFT OUTER JOIN table_c c ON c.some_id = a.some_id"
).addEntity("a", A.class).addEntity("b", B.class).addEntity("c", C.class).list();
HibernateはCで非ヌル属性にNULL値を代入しようとして、AとBの行が存在するが、該当する行がCに存在しない場合、クエリが失敗した(私はこれらの属性をnullableに変更することはできません)。ヌル値を持つオブジェクトを作成しようとするのではなく、Cの行が存在しない場合、Cのヌルオブジェクトを返すような休止状態の設定はありますか?
http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies。あなたは 'lazy = true'を設定しようとしましたか?これが役立つかどうかはわかりません。 –
私は同様の問題に直面しています。あなたはこれに対する解決策を見つけましたか? – jabclab