ショップのドメイン モデルに注釈を付けています (JPA 2、Hibernate Provider を使用)。
ショップでは、すべての製品にCategory
. 各カテゴリは、複数のスーパーカテゴリとサブカテゴリに割り当てることができます。つまり、カテゴリ「キャンドル」は、「レストラン」と「装飾」を親として、「プレーン キャンドル」と「マルチウィック キャンドル」を子として持つことができます。
ここで、循環参照、つまり「b」を親として「a」を持つカテゴリ「a」を避けたいと考えています。
JPAで制約のある循環参照をチェックする方法はありますか? それとも、@PostPersist
注釈付きのメソッドで、自分でいくつかのチェックを書く必要がありますか?
これが私のCategory
クラスです:
@Entity
public class Category {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToMany
private Set<Category> superCategories;
@ManyToMany(mappedBy="superCategories")
private Set<Category> subCategories;
public Category() {
}
// And so on ..
}