在我的春節,啓動應用程序的網絡實體,有兩種類型的實體:User
和Group
:休眠:刪除實體
- 用戶可以根據自己的0到N組
- 組可以有1〜 M個成員
在User
類存在的Group
他/她擁有或組織的成員,並在Group
類的列表,還有的User
(即成員)名單。
這些類使用hibernate註釋互相引用。
class User {
@ManyToMany(cascade = CascadeType.REFRESH)
private List<Group> groups;
}
class Group {
@ManyToOne(cascade = CascadeType.REFRESH)
@NotNull
@JoinColumn(name="OWNER_ID", referencedColumnName="id")
private User owner;
@ManyToMany
@JoinTable(joinColumns = @JoinColumn(referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(referencedColumnName = "id"))
private List<User> members;
}
在User
服務層有一個Delete
方法這是應該刪除從存儲庫中的用戶。此刪除操作應執行一系列操作:刪除該用戶擁有的所有組,並將刪除的組從其成員的組列表中刪除。所有這些應該保存到存儲庫。
如果我添加其他類型的實體到這個網絡,這個過程變得更加複雜。
我的問題是:不休眠自動處理?我是否應該抓住每個成員並逐個刪除組並將其保存到存儲庫?
在您的例子,如果一個帳戶被刪除,難道我們要經過所有誰指向該帳戶的員工和刪除該帳戶'賬號'一個接一個地設置?我的例子與你的稍有不同。 –