有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    我打赌在保存Main之前,您还更改了它所保存的ClassB的数据,并且这些ClassB是持久对象,对吗

    这与Main的持久性无关。如果加载了任何实体并对其进行了更改,即使没有显式保存,在提交之前,JPA将查找所有脏实体并保留更改