2
我有一個A級:Hibernate單向@ManyToMany:刪除沒有約束違規?
@Entity
public class A {
...
@ManyToMany
private Set<Ref> refs = new HashSet<Ref>();
...
}
和A類編號:
@Entity
public class Ref {
// no link to A
}
我想刪除A和A_Ref但參考,但我得到一個org.hibernate.exception.ConstraintViolationException
是否有一個簡單的方法來做到這一點,或者我應該明確創建一個A_Ref類?
感謝
編輯: 我試圖在HQL刪除一個直接的名單。我做了它的對象(打破了關係),它工作(級聯+孤兒刪除)。
「參考」表是一個參考,從許多其他類鏈接的數據。所以我不能聲明雙向@ManyToMany(就像你在教程中所說的那樣)。 joinColumn是如果你想覆蓋默認設置,但我沒有在那裏看到相關的屬性。 – 2012-01-16 17:24:49
我不確定,如果它甚至有必要,只要你只想在你的對象A中使用它的一個方向。重要的是自動刪除引用是CascadeType屬性。在答案中添加了對cascadetypes的引用。 – crusam 2012-01-16 17:32:15