java存储实体
public class Main{
@Transient
private List<ClassB> listB;
..
}
public ClassB{
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
List<ClassC> listC;
...
}
public classC{
...
}
现在,当我保存主类对象时,ClassB和ClassC创建的联接表被更改,而变量listB是暂时的。为什么会这样
# 1 楼答案
我打赌在保存
Main
之前,您还更改了它所保存的ClassB
的数据,并且这些ClassB
是持久对象,对吗这与Main的持久性无关。如果加载了任何实体并对其进行了更改,即使没有显式保存,在提交之前,JPA将查找所有脏实体并保留更改