我正在使用CascadeType.ALL,但是当我尝试删除记录时,只删除记录而不删除其相关记录。
@OneToMany(cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
public List<CartItem> getItems() {
return items;
}
我的桌子是
cart
cartitem
cart_cartitem
当我使用以下内容时,只删除cart_cartitem的记录而不是cartitem的记录。
cart.getItems().remove(0);
session.update(cart);
答案 0 :(得分:1)
您是否正确执行了equals and hashcode?此外,我相信你正试图移除孤儿。
@OneToMany(mappedBy = "cart",
cascade={javax.persistence.CascadeType.ALL}, orphanRemoval = true)
private List<CartItem> getItems();