TGIF の皆さん、私は自分のプロジェクトの 1 つにまだ行き詰まっています。と の 2 つのインターフェイスがIMasterOrder
ありIOrder
ます。のIMasterOrder
コレクションを持つことができますIOrder
。MasterOrder
そのため、複数のエンティティ クラスとOrder
、インターフェイスを実装するエンティティ クラスが存在する可能性があります。
コーディングを簡素化するために、どこでもオブジェクトを作成IMasterOrder
しIOrder
ますが、具象型を指定する必要がある場合は、IMasterOrder
オブジェクトをクラス型にキャストするだけです。
問題は、これにより、マスタークラスがその注文について常に null を返すようになることです。JPAが一般的にポリモーフィズムとどのように連携するかについて非常に興味がありますか?
アップデート
早々に混乱してしまい申し訳ありません。実際、質問ははるかに簡単です
実際にエンティティクラスはこのようなものです
public class MasterOrder implements IMasterOrder {
// Relationships
@OneToOne(mappedBy = "masterOrder")
private OrderCustomFields customFields;
@OneToMany(mappedBy = "masterOrder")
private List<OrderLog> logs;
@OneToMany(mappedBy = "masterOrder")
private Collection<Order> orders;
// Fields...
そして、Master order エンティティ インスタンスを取得するための finder メソッドは次のようになります。
public static MasterOrder findMasterOrder(String id) {
if (id == null || id.length() == 0) return null;
return entityManager().find(MasterOrder.class, id);
}
ただし、このファインダ メソッドの MasterOrder インスタンスは、すべて null の customFields とログと注文を返します。では、これを修正する方法は?前もって感謝します。