gpt4 book ai didi

java - "@Where"和 "cascade = CascadeType.ALL"不同时工作

转载 作者:太空宇宙 更新时间:2023-11-04 09:04:34 25 4
gpt4 key购买 nike

我有 JPA 实体(产品实体),它使用下面的 @Where 注释,同时,我也使用 cascade = CascadeType.ALL 。 (Product 是父实体,Storage 是子实体)

 @OneToMany(cascade = CascadeType.ALL, mappedBy = "productid")
@Immutable
@Where(clause = "isprimary='true'")
private List<Storage> storageList;

当我想要删除Product(父)实体时出现问题。由于“Product”实体与“Storage”实体有关系,并且我使用带有条件“isprimary=true”的“Where”注释,因此它不会删除具有 isrimary=false 的“Storage”实体。任何关于我如何解决该问题的建议。我的请求是,如何删除所有存储(子)实体(无论 isprimary 是 true 还是 false),同时,我也可以使用 @Where 注释。

最佳答案

也许添加包含其他条目的第二个列表:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "productid")
@Immutable
@Where(clause = "isprimary='true'")
private List<Storage> storageList;


@OneToMany(cascade = CascadeType.ALL, mappedBy = "productid")
@Immutable
@Where(clause = "isprimary='false'")
private List<Storage> storageListNotPrimary;

关于java - "@Where"和 "cascade = CascadeType.ALL"不同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60373396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com