Java Persistence APIを使用して集約と分解をどのように実装しますか?ベストプラクティスは何ですか?
よろしくお願いします、ダニエル
Java Persistence APIを使用して集約と分解をどのように実装しますか?ベストプラクティスは何ですか?
よろしくお願いします、ダニエル
orphanRemoval
関係の属性を@OneToMany
見つけました@OneToOne
:
1 対 1 または 1 対多の関係にあるターゲット エンティティが関係から削除される場合、削除操作をターゲット エンティティにカスケードすることが望ましい場合がよくあります。このようなターゲット エンティティは「孤立」と見なされ、 orphanRemoval 属性を使用して、孤立したエンティティを削除する必要があることを指定できます。たとえば、注文に多数の品目があり、そのうちの 1 つが注文から削除された場合、削除された品目は孤立したものと見なされます。orphanRemoval が true に設定されている場合、品目が注文から削除されると、品目エンティティは削除されます。
使用法:
@OneToMany(mappedBy="customer", orphanRemoval=true)
public List<Order> orders;
JPA で集計を処理する際に、非常に明確にする必要があることが 2 つあります。
Java の世界での関係は、ドメインの必要性によって管理されます。たとえば、ユーザーは多くのアドレスを持っている可能性があるため、アドレスの集約をユーザーに保持し、逆の関係を保持しません。コンポジションでは、カスケード動作を処理する必要があります。
詳しい治療内容はこちら