hibernate 发生object references an unsaved transient instance错误

hibernate 发生object references an unsaved transient instance异常object references an unsaved trans

hibernate 发生object references an unsaved transient instance异常
object references an unsaved transient instance - save the transient instance before flushing: user.pojo.HotelGoodsCatalog; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: user.pojo.HotelGoodsCatalog


今天遇到修改对象的时候,hibernate报有关联的对象没有保存,其原因为hibernate在更新一个对象的时候,会去检查它所有关联的对象在数据库中是否存在,如果不存在就会报先让你保存这个对象,然后再保存此对象。也可以将cascade="none" 设为其它,如save-update等等,但是这种方法最好不要用(以上只是我个人的理解)

补充:
    另外一种情况也会发生此错误,即:当你保存一个对象时User,User关联一个Card对象,而Card对象是增加了乐观锁,如果新建了一个Card对象放进User中,而Card中乐观锁的属性为null的话,这时你需要将其属性设定一个值,最好从数据库中取出