在我的應用程序中,用戶可以擁有一個收藏夾列表。最喜愛的名單可以有許多種球。問題是,當我嘗試刪除用戶表(session.delete(用戶))的記錄時,它刪除了添加到該用戶的收藏列表中的所有球的記錄如何避免刪除不需要的記錄?
但是,它應該刪除用戶,用戶的喜愛列表中選擇記錄,而最喜歡的列表favoriteItems,而不是從球桌
關係的任何記錄
Each User must have only one FavoritesList
Each FavoritesList may have zero to many FavoriteItems
Each FavoriteItems must have only one ball
Each ball can be belong to zero to many FavoriteItems
類
@Entity
public class User{
....
@OneToOne(cascade = CascadeType.ALL)
protected FavoritesList favoritesList;
public User{
...
this.favoritesList = new FavoritesList();
}
....
}
@Entity
public class FavoritesList {
...
@OneToMany
@LazyCollection(LazyCollectionOption.FALSE)
private List<FavoriteItems> items;
public FavoritesList(){
this.items = new ArrayList();
}
...
}
@Entity
public class FavoriteItems {
...
@ManyToOne
private Ball ball;
...
}
但正如我已經解釋,我需要它來刪除favouritelist和favoriteitems,也許如果我拿出級聯它不會刪除它們。 – J888