4

結合フェッチを使用して、単一の JPQL クエリでエンティティとそのすべての子を取得できることはよく知られています。ただし、ネイティブクエリでこれを機能させることはできないようです。私は得て[Ljava.lang.Object; cannot be cast to com.myapp.SearchResultいます。

何が起こっているかというと@SqlResultSetMapping、複数の を含む構成があります@EntityResult。一部の関連エンティティは 1 対 1 です。リレーションシップの 1 つは 1 対多です。JPA は親子関係を設定する代わりに、行ごとに 1 つのオブジェクトのリストを返します。リスト内の各項目は、定義されたエンティティ タイプの 1 つです。

これを意図したとおりに機能させる方法はありますか? この場合の例はありますか?

4

1 に答える 1

3

基本的なJPAのネイティブクエリでフェッチに参加することはできません。

EclipseLinkを使用している場合は、「eclipselink.join-fetch」クエリヒントを使用して、ネイティブSQLクエリで結合フェッチを有効にすることができます(SqlResultSetMappingのみなし)。

于 2011-08-30T15:09:04.877 に答える