@OnDelete
を使用して私の質問を直接聞かせてください。Inventory
エンティティが削除された場合、これと他のInventoryPreference
エンティティが削除されますか?私はちょうどHibernate's annotations参照からものを理解することはできません..私はそれを正しく理解したことを確認するためにあなたの助けが必要です。CascadeType.ALLと@OnDeleteの違いを理解しようとしています!
public class InventoryPreference {
...
@ManyToOne
@OnDelete(action = OnDeleteAction.CASCADE)
@JoinColumn(name = "inventory_id", nullable = false)
public Inventory getInventory() {
return inventory;
}
}
は、私はその後、Inventory
エンティティにInventory
エンティティが削除された場合に削除されたすべてのInventoryPreference
秒を取得するには、あまりにもCascadeType.ALL
を使用する必要がありますか?
public class Inventory {
...
@OneToMany(mappedBy = "inventory", cascade = CascadeType.ALL)
public Set<InventoryPreference> getPreferenceItems() {
return preferenceItems;
}
}
最初の質問がtrueの場合、私はCascadeType.ALL
のポイントが表示されていません。それ以外の場合は、Inventory
が削除されたときに、InventoryPreference
を削除するために指定する必要がある注釈と設定は何ですか?ああ、InventoryPreference
が削除された場合、Inventory
を削除したくありません。もしそれがあまりにも明白なら、申し訳ありません。
ありがとうございました!はい、まさに私が欲しいものです。あなたが言ったように '@ OneToMany'にカスケード設定を追加すると、カスケードすることに関して' Inventory'エンティティに何も追加する必要はありませんか? – Rihards
OneToManyはInventoryエンティティにあります:) InventoryをInventoryPreferenceにマッピングするManyToOneに何も追加する必要はありません。私はそれがあなたが意味するものだと思います。 – Affe
ありがとう、もう一度ありがとう!あなたは1時間ごとの長い読書から私の日を救い、悪夢であるHibernateのリファレンスを理解しようとしました! :) – Rihards