猿问

对象引用未保存的瞬态实例-在刷新之前保存瞬态实例。

对象引用未保存的瞬态实例-在刷新之前保存瞬态实例。

使用Hibernate保存对象时收到以下错误

object references an unsaved transient instance - save the transient instance before flushing


RISEBY
浏览 432回答 3
3回答

扬帆大鱼

你应该包括cascade="all"(如果使用XML)或cascade=CascadeType.ALL(如果使用注释)在集合映射上。之所以会出现这种情况,是因为您的实体中有一个集合,而且该集合有一个或多个不在数据库中的项。通过指定上述选项,您可以告诉Hibernate在保存父程序时将它们保存到数据库中。

湖上湖

当Hibernate认为需要保存与您正在保存的对象相关联的对象时,这会发生在保存对象时。我有这个问题,不想保存对引用对象的更改,所以我希望级联类型为None。诀窍是确保设置了引用对象中的ID和版本,这样Hibernate就不会认为引用的对象是一个需要保存的新对象。这对我有用。查看保存的类中的所有关系,以求出关联对象(以及关联对象的关联对象),并确保在对象树的所有对象中设置ID和版本。
随时随地看视频慕课网APP

相关分类

Java
我要回答