私は、(JPA 2、Hibernate Providerを使用して)ショップのドメインモデルに注釈をつけています。JPAで循環参照に注釈を付ける方法を回避するにはどうすればよいですか?
ショップでは、すべての製品にCategory
を使用できます。それぞれのカテゴリはいくつかのスーパーカテゴリとサブカテゴリに割り当てることができます。つまり、「キャンドル」カテゴリは「レストラン」と「装飾」を親として、「普通キャンドル」と「マルチウィックキャンドル」を子供などとして持つことができます。
さて、私は循環参照を避けたいと思います。 e。親として "b"を持ち、親として "a"を持つカテゴリ "a"。
JPAの制約付き循環参照をチェックする方法はありますか?または、自分で小切手を書く必要がありますか?@PostPersist
-annotatedメソッドですか?私はあなたがこれはあなたのコード内でビジネスルールを谷チェックしなければならないと信じて
@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 ..
}
なぜそれが必要ですか? JPAはそれを自動的にチェックし、問題は発生しません。あなたはこれにどのような問題がありますか? –
「親」フィールドはどこですか?あなたはそれを "mappedBy" – DataNucleus