在本教程中,我们将习如何在JPA中从多对多关系中删除实体。
多对多关系是一种两个实体通过一个额外的连接表相连的关系。为了有效地映射这些实体,我们应该遵循一些指导原则。
首先,在定义多对多关系时,我们应该考虑使用_Set_而不是_List_。 作为JPA实现的Hibernate不会以高效的方式从_List_中删除实体。
当使用_List_时,Hibernate会从连接表中删除所有实体,然后插入剩余的实体。这可能会导致性能问题。我们可以通过使用_Set_来轻松避免这个问题。
其次,我们不应该在映射中使用_CascadeType.REMOVE_,因此也不应该使用_CascadeType.ALL_。
大约 4 分钟