1

クラスの属性として 2 つのエンティティを持つ非エンティティ クラスで 2 つのエンティティを結合したいと考えています。

これを例にとります:

@Entity
public class A {
}

@Entity
public class B {
}

public class C {
    private A a;
    private B b;
}

SqlResultSetMapping を使用して解決策を見つけましたが、20 列以上あるため、A と B の各列を手動で指定したくありません。

私が見つけたもう 1 つの解決策は、オブジェクト配列結果 [] を返す JPQL クエリを使用することでした。ここで、結果 [0] は A で、結果 [1] は B です。

私のアイデアは両方を組み合わせたもので、次のように考えています。

@SqlResultSetMapping(targetClass=C.class, 
entities={
@EntityResult (targetClass=A.class)
@EntityResult (targetClass=B.class)
}

A と B の両方に複数の列がある場合、問題を解決する最善の方法はどれですか?

4

1 に答える 1