1

我正在使用 CascadeType.ALL 但是当我尝试删除一条记录时,它只是删除了该记录而不是其关联的记录。

@OneToMany(cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
public List<CartItem> getItems() {
    return items;
}

我的桌子是

cart
cartitem
cart_cartitem

当我使用以下内容时,它只是删除了 cart_cartitem 的记录,而不是 caritem 的记录。

cart.getItems().remove(0);
session.update(cart);
4

1 回答 1

1

您是否正确实现了equals和hashcode?另外,我相信您正在尝试删除孤儿。

@OneToMany(mappedBy = "cart", 
   cascade={javax.persistence.CascadeType.ALL}, orphanRemoval = true)
private List<CartItem> getItems();
于 2013-10-20T22:59:56.337 回答