感谢您提前查看此问题。
基本上,我有几个实体,这就是关系。
表A
---<表AB
> ----表B
实体类:
class A {
@ManyToMany
@JoinTable(name = "A_B", joinColumns = { @JoinColumn(name = "A_ID",nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "B_ID", nullable = false) })
private List<B> bList;
}
class B {
@ManyToMany(mappedBy = "bList")
private List<A> aList;
}
现在我有2个会话访问同一个A
对象。我更改了bList
的{{1}}值并将其保存在会话1中。现在,会话2中的对象A
已过时,我保存了一个对象A
,其中包含对象C
在陈旧状态下的引用。
我想知道为什么不将A
放入cascade = {PERSIST, MERGE}
注释中,保存对象@ManyToMany
也会将C
的陈旧状态更新回数据库,所以我在会话1中对对象A
所做的更改消失了?