我对 JPA (EclipseLink) 有疑问。我无法删除关联表。这是这种情况:
- 产品 1:n 到 ProductResource
- 资源 1:n 到 ProductResource
我首先设置 ProductResource 的产品和资源属性。如果我然后尝试删除 ProductResource 对象,则没有任何反应(没有生成 sql - 没有例外)。如果我注释掉 ProductResource 中的两个 OneToMany 注释,我可以删除该对象。我也可以在未设置产品和资源属性时删除对象。如果我仅注释掉资源属性上方的注释,则 ProductResource 对象会在删除产品对象时被删除(cascade=CascadeType.ALL)。我希望有人能给我一个提示。谢谢你。
产品资源:
public class ProductResource implements Serializable {
@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.MERGE)
private Product product;
@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.MERGE)
private Resource resource;
产品:
public class Product implements Serializable {
@OneToMany(mappedBy="product", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
资源:
public class Resource implements Serializable {
@OneToMany(mappedBy="resource", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
问候马塞尔