zoukankan      html  css  js  c++  java
  • 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了,能保存了。

    
    
  • 相关阅读:
    jQuery的遍历方法
    xampp配置host和httpd可以随意访问任何本机的地址
    JavaScript的this简单实用
    移动端rem布局和百分比栅格化布局
    你知道用AngularJs怎么定义指令吗?
    谈谈Angular关于$watch,$apply 以及 $digest的工作原理
    深入了解Angularjs指令中的ngModel
    如何将angularJs项目与requireJs集成
    requireJS(二)
    requireJS(一)
  • 原文地址:https://www.cnblogs.com/dixinyunpan/p/6004991.html
Copyright © 2011-2022 走看看