2010-12-03 11 views
0

Java Persistence APIを使用して集約と分解をどのように実装しますか?ベストプラクティスは何ですか?事前にJPAでの集約と分解

おかげで、 ダニエル

答えて

0

私は@OneToMany@OneToOne関係orphanRemoval属性見つけた:1対1または1対多の関係でターゲットエンティティ

をこの関係から削除されている場合、削除操作をターゲットエンティティにカスケードすることが望ましいことがよくあります。そのようなターゲットエンティティは「孤児」とみなされ、orphanRemoval属性を使用して、孤立したエンティティを削除する必要があることを指定できます。たとえば、オーダーに広告申込情報が多数あり、広告申込情報の1つがオーダーから削除された場合、削除された広告申込情報は孤立したオーダーとみなされます。 orphanRemovalがtrueに設定されている場合、オーダーから広告申込情報が削除されると、広告申込情報のエンティティが削除されます。

使用法:

@OneToMany(mappedBy="customer", orphanRemoval=true) 
public List<Order> orders; 
0

JPAで凝集を取り扱いながら、非常に明確にする必要があります2つのものがあります。

  1. リレーショナルワールドにおける関係。
  2. オブジェクトの世界で必要な関係。

Javaの世界における関係は、ドメインの必要性によって支配されます。たとえば、Userには多くのアドレスが含まれている可能性があります。そのため、Userにはアドレスの集約を行い、逆の関係は保持しません。コンポジションの場合、カスケード動作を処理する必要があります。

さらに詳しい治療法はhere