我正在使用Hibernate,我收到以下错误:
org.hibernate.TransientObjectException: object references an unsaved transient instance
- save the transient instance before flushing: db.Concern
我创建了Concern
实体的对象,我在其中执行了以下操作:
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "concernId")
private Concern concern;
答案 0 :(得分:1)
使用Hibernate或任何其他JPA提供程序时,设置cascade = CascadeType.ALL
会导致持续存在并将更新和其他操作级联到子关系。
此外,默认@OneToOne
关系为FetchType.Eager
。因此,您可以明确保存concern
,也可以从注释中删除fetch = FetchType.LAZY
。
当抛出此错误时,您可能正在保存其他一些对象。因此,在保存该对象之前,请保存concern
对象,然后保存另一个对象。