2013-12-13 91 views
-1

我創建了一個類,如下如何在使用hibernate時刪除數據庫中的一行?

public class User { 
@OneToMany(cascade={CascadeType.ALL) 
@JoinColumn(name="ID") 
private List<Address> userAddresses; 
.... 
.... 
} 

public class userAddress { 
@ManyToOne 
@JoinColumn(name="ID") 
private User usr; 
..... 
.... 
} 

如果我在用戶表中刪除一行將自動刪除該行userAddress。如果沒有,請讓我知道如何聲明屬性自動刪除。我聽說過級聯的事情,但我不知道正確的語法來聲明它。

+1

中查找'orhpanRemoval'屬性。 – mabi

+0

放入'JPA'標籤! – ktaria

回答

0

嘗試映射這樣的:

public class User { 
     @OneToMany(mappedBy="usr", cascade={CascadeType.ALL}, orphanRemoval="true") 
     private List<Address> userAddresses; 
}    

public class userAddress { 
     @ManyToOne 
     @JoinColumn(name="ID") 
     private User usr; 
} 
+0

如果我先刪除UserAddress記錄,我可以刪除用戶記錄。否則,不允許直接在用戶表中刪除記錄。 –

+1

那麼你想要做什麼?您希望在刪除用戶記錄時刪除userAdresses? – Fortunato

+0

是的,我希望userAdresses在刪除用戶記錄時被刪除。 –

相關問題