我@ManyToMany
在我的应用程序中设置了一个非常简单的 JPA 关系。AProduct
是一个或多个OrderSystem
s的一部分。每个OrderSystem
可以有很多Product
s。这是典型的多对多关系。
我要解决的问题是:如果我使用orderSystems.remove()
从 a 中删除Product
对 an的引用OrderSystem
,则该条目似乎已被删除(在该会话中)。但是,刷新时不会从交叉引用表中删除该条目,并且当我重新加载它时,Product
它具有前一组OrderSystem
s。
我有以下代码:
@Entity
@Table(name = "p_product_versions")
@Validation
public class Product {
private List<OrderSystem> orderSystems;
@ManyToMany
@JoinTable(name = "p_order_systems_has_product_versions",
joinColumns =
@JoinColumn(name = "p_product_versions_prod_version_id"),
inverseJoinColumns =
@JoinColumn(name = "p_order_systems_system_id"))
public List<OrderSystem> getOrderSystems() {
return orderSystems;
}
}
@Entity
@Table(name = "p_order_systems")
@Validation
public class OrderSystem {
private List<Product> products;
@ManyToMany (mappedBy = "orderSystems")
public List<Product> getProducts() {
return products;
}
}
谁能指出我在这里缺少的东西?