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



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

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

当我想删除Product(父(实体时会出现问题。由于"Product"实体与"存储"实体有关系,并且我使用"Where"注释,条件为"isprimary=true",因此不会删除isrimary=false的"Storage"实体。任何关于我如何解决这个问题的建议。我的请求是,我如何删除所有存储(子(实体(无论是否有主实体(,同时,我也可以使用@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;

最新更新