我在两个不同的类X和Y中具有相同的OneToMany关系,当我尝试删除它时,有一个例外:javax.persistence.EntityNotFoundException: Unable to find with id... <entity>
我也有一个带有两个ManyToOne关系的XY类,它嵌入了由X类的id和Y类的id组成的id。
我已经尝试过类似的操作,例如从X和Y类的列表中删除关联关系,将其合并,然后从XY类中删除该关系。我尝试用NotFoundAction.IGNORE添加注释@NotFound,它可以工作,但是我不能使用它。另外,我认为这并不能解决我的问题,类似于解决方法。
//from X class:
@OneToMany(fetch = FetchType.EAGER, mappedBy = "x", cascade = CascadeType.ALL, orphanRemoval = true)
@Fetch(FetchMode.SUBSELECT)
private List<XY> xy;
//from Y class:
@OneToMany(fetch = FetchType.EAGER, mappedBy = "y", cascade = CascadeType.ALL, orphanRemoval = true)
@Fetch(FetchMode.SUBSELECT)
private List<XY> xy;
//from XY class:
@EmbeddedId
private XYid xyid = new XYid();
@MapsId("xId")
@ManyToOne(optional = false)
@JoinColumn(name = "x")
private X x;
@MapsId("yId")
@ManyToOne(optional = false)
@JoinColumn(name = "y")
private Y y;
//from XYid class:
private Integer xId;
private Integer yId;