object references an unsaved transient instance【异常】

【异常提示】

TransientObjectException: object references an unsaved transient instance -save the transient instance before flushing: com.jspxcms.core.domain.ScTeam

【网上参考资料】

【参考资料二】

标题:   object references an unsaved transient instance - save the transient instance before flushing

异常1:not-null property references a null or transient value
解决方法:将“一对多”关系中的“一”方,not-null设置为false
(参考资料:http://www.thearcmind.com/confluence/pages/viewpage.action?pageId=212)

异常2:org.hibernate.TransientObjectException: object references an unsaved transient instance
解决方法:cascade="save-update,persist"
(参考资料:http://www.laliluna.de/254.html)

异常3:org.hibernate.QueryException: could not resolve property
解决方法:"from Category category where category.userID = :userID"修改为"from Category category whereuserID = :userID"或者"from Category category where category.user.id = :userID"
(参考资料:http://www.laliluna.de/277.html)

异常4:could not initialize proxy - the owning Session was closed
解决方法:设置lazy为false
(参考资料:http://forum.springframework.org/showthread.PHP?t=27993)

异常2我在应用中碰到了这样的问题:

有三个表:userInfo   deptmentInfo   role

userInfo 与deptmentInfo为many to one

userInfo 与role为many to one

下面为保存UserInfo对象时的代码:

DeptmentInfo dept = new DeptmentInfo();
    dept.setDeptName(deptName);

Role role = new Role();
    role.setRoleName(roleName);

UserInfo user = new UserInfo();
    user.setUserName(userName);
    user.setUserSex(userSex);
    user.setDuty(duty);
    user.setPhone(phone);
    user.setMobileNum(mobileNum);
    user.setEmail(email);
    user.setQq(qq);
    user.setMsn(msn);
    user.setAdress(adress);
    user.setDeptmentInfo(dept);
    user.setRole(role);

dao.save(user);

执行时有错:org.hibernate.TransientObjectException: object references an unsaved transient instance

于是改了UserInfo.hbm.xml的一些地方

如下:

<many-to-one name="role" class="com.oa.domain.Role"
   cascade="save-update,persist" fetch="select">
    <column name="ROLE_ID" precision="22" scale="0" />
   </many-to-one>
   <many-to-one name="deptmentInfo"
    class="com.oa.domain.DeptmentInfo" cascade="save-update,persist"
    fetch="select">
    <column name="DEPT_ID" precision="22" scale="0" />
   </many-to-one>

加了上面红色部分的,就OK了,能保存了。

				
时间: 2024-10-19 12:01:48

object references an unsaved transient instance【异常】的相关文章

ManyToMany【项目随笔】关于异常object references an unsaved transient instance

在保存ManyToMany  时出现异常: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientObjectException: object references an unsaved transient instance 如图: 出现原因:单向ManyToMany保存顺序反了,应当先保存主控端permission对象 错误代码: @Transactional(readOnly=f

Hibernate的一个问题object references an unsaved transient instance - save the transi5

1 我做了一对多和多对一的双向关联关系,在User这一方@ManyToOne已经设置了级联Cascade,这样在测试程序中保存User时,Group也应该自动保存,为什么会抛出以下的异常: (我是按着视频教程里的例子一步一步做的,但视频里却没有异常,是什么原因?) org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance

三大框架常遇的错误:hibernate : object references an unsaved transient instance

hibernate : object references an unsaved transient instance 该错误是操作顺序的问题,例如: save或update顺序问题---比如学生表和班级表..学生表里有班级ID的外键.一对多的关系.你save的时候应该先save班级,再save学生..否则学生的外键没有对应的值,引发异常.

ERROR org.hibernate.internal.SessionImpl - HHH000346: Error during managed flush [object references an unsaved transient instance - save the transient instance before flushing: cn.itcast.domain.Custom

本片博文整理关于Hibernate中级联策略cascade和它导致的异常: Exception in thread "main" org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.mao.Address 关于这个异常应该是Hibernate初学者经常遇到的,导致

object references an unsaved transient instance - save the transient instance before flushing: com.jspxcms.core.domain.ScTeam

还有个细节   当前台传到后台的类中如果有为空的  如id为null  或者对象整个为空的   也也会请发这个异常

org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: com.zs.entity.GuahaodanEntity; nested excepti

ssh里hibernate的 一对多多对一的问题  save时 一的一方还处于持久化状态时,多的一方这时候保存的话就会出现这个问题 必须先将一的一方先保存解除持久化状态,才可以再保存多的一方 注意保存顺序就好了 原文地址:https://www.cnblogs.com/King-Jin/p/10961305.html

org.unsaved transient instance - save the transient instance before flushing: bug解决方案

最近开发和学习过程中,遇到很多零碎的知识点,在此简单地记录下: 1.遇如下bug: org.unsaved transient instance - save the transient instance before flushing: org.blog.blog.domain.HighStudent 解释:意思是说hibernate从数据库中查询出来的一个对象HighSchool(为持态,我给它的事物定义为readOnly,只有只读权限),然后又给它的属性或者它属性的属性(highStude

Java.lang.NoSuchFieldError: INSTANCE异常

解决方案: java.lang.NoSuchFieldError: INSTANCE异常. 1.jar包重复了. 2.版本还不相同,如果包的版本不同也会报相应的错,不过一般情况自己导入的jar包主要看导入有没有共同范围下有重复的jar. 仅供参考,大神高论,评论下方. Java.lang.NoSuchFieldError: INSTANCE异常

《流畅的Python》Object References, Mutability, and Recycling--第8章

Object References, Mutability, and Recycling 本章章节: Variables Are Not Boxes identity , Equality ,  Aliases Copies are shallow by default Function Parameters as references del and Garbage Collection Weak References Tricks Python Plays with Immutable Va