我使用Hibernate來管理我的Java應用程序中的持久性。我在A方定義的實體A和B之間有一個ManyToMany關係(A有一個Bs集合)。Hibernate JoinTable
當我從表B中刪除一個對象時,我希望它也可以從實體A中的集合中刪除。但是,我無法找到如何在Hibernate中定義JoinTable中的外鍵必須是「關於刪除級聯」。
如果有人能幫助我,我將不勝感激。
編輯:代碼示例:
CREATE TABLE aToB
(
afk integer NOT NULL,
bfk integer NOT NULL,
CONSTRAINT aToB_pkey PRIMARY KEY (afk , bfk),
CONSTRAINT fk156d338f71d2c983 FOREIGN KEY (afk)
REFERENCES a (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk156d338fa35ac77c FOREIGN KEY (bfk)
REFERENCES b (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
什麼,我其實什麼是有 「ON DELETE CASCADE」:
@Entity
public class A {
@ManyToMany
@JoinTable(name = "aToB", joinColumns = { @JoinColumn(name = "aFk") }, inverseJoinColumns = { @JoinColumn(name = "bFk") })
public Collection<B> getBs() { ... }
public void setBs(Collection<B> bs) { ... }
}
當我看着我的數據庫,表ATOB是由以下命令創建爲bfk上的外鍵。
請張貼相關的代碼 - 這使得它更容易發現 – kostja 2013-02-15 13:01:46
增加了一些問題相關的代碼:) – user1544745 2013-02-15 14:34:20