存储实体

时间:2015-01-30 05:18:56

标签: java jpa

public class Main{

@Transient
private List<ClassB> listB;
..
}

public ClassB{
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
List<ClassC> listC;
...
}

public classC{
...
}

现在当我保存Main类对象时,由ClassB和ClassC创建的连接表被更改,而变量listB是瞬态的。为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

我在保存Main之前打赌,你也改变了它所持有的ClassB的数据,那些ClassB是持久对象,对吗?

它与Main的持久性无关。如果您加载了任何实体并且您更改了它们,即使您没有明确保存它们,在提交之前,JPA将找到所有脏实体并保留更改。