如何删除孤儿记录?

时间:2013-10-20 22:51:47

标签: java hibernate java-ee hibernate-mapping

我正在使用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);

1 个答案:

答案 0 :(得分:1)

您是否正确执行了equals and hashcode?此外,我相信你正试图移除孤儿。

@OneToMany(mappedBy = "cart", 
   cascade={javax.persistence.CascadeType.ALL}, orphanRemoval = true)
private List<CartItem> getItems();