<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 117  文章 - 72  trackbacks - 0

    聲明:原創(chuàng)作品(標(biāo)有[原]字樣)轉(zhuǎn)載時(shí)請(qǐng)注明出處,謝謝。

    常用鏈接

    常用設(shè)置
    常用軟件
    常用命令
     

    訂閱

    訂閱

    留言簿(7)

    隨筆分類(130)

    隨筆檔案(123)

    搜索

    •  

    積分與排名

    • 積分 - 155762
    • 排名 - 390

    最新評(píng)論

    [標(biāo)題]:[原]Hibernate - TransientObjectException
    [時(shí)間]:2009-6-19
    [摘要]:object references an unsaved transient instance
    [關(guān)鍵字]:Hibernate,
    [環(huán)境]:Hibernate3.2,MyEclipse7.0,MySQL5.1
    [作者]:Winty (wintys@gmail.com) http://m.tkk7.com/wintys

    [錯(cuò)誤]:
    ERROR AbstractFlushingEventListener:301 - Could not synchronize database state with session
    org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: wintys.hibernate.manytomany.Course
        at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
        at org.hibernate.type.EntityType.getIdentifier(EntityType.java:397)
        at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:78)
        at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:755)
        at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1143)
        at org.hibernate.action.CollectionRecreateAction.execute(CollectionRecreateAction.java:26)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at wintys.hibernate.manytomany.StudentDAOBean.insert(StudentDAOBean.java:49)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)
    object references an unsaved transient instance - save the transient instance before flushing: wintys.hibernate.manytomany.Course

    [原因]:
        使用session.save時(shí),相關(guān)的級(jí)聯(lián)對(duì)象沒(méi)有被保存。

    [解決]:
    Either use session.save for both objects or specify a cascade="save-update,persist" in your mapping.
    即:
    1、加上cascade="all"
    <set name="courses" table="student_course" cascade="all">
    ...
    </set>
    程序中直接使用。
    session.save(student);

    2、修改程序,使相關(guān)的級(jí)聯(lián)對(duì)象先保存。
    session.save(course);//加上這一句
    session.save(student);//student中關(guān)聯(lián)了course

    [參考資料]:
    object references an unsaved transient instance - save the transient instance before flushing : http://blog.csdn.net/riseman/archive/2008/03/03/2143661.aspx

    原創(chuàng)作品,轉(zhuǎn)載請(qǐng)注明出處。
    作者:Winty (wintys@gmail.com)
    博客:http://m.tkk7.com/wintys

    posted on 2009-06-19 22:59 天堂露珠 閱讀(1116) 評(píng)論(1)  編輯  收藏 所屬分類: ErrorHibernate

    FeedBack:
    # re: [原]Hibernate - TransientObjectException 2009-09-25 11:02 阮若愁
    我都看了N篇關(guān)于這個(gè)錯(cuò)的文章了 就你的最好最直接最有效 厲害 佩服  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 女人18毛片水真多免费播放| 国产亚洲成人久久| 另类图片亚洲校园小说区| 亚洲福利精品一区二区三区| 日韩成人免费视频| 国产精品亚洲二区在线| 久久亚洲AV无码精品色午夜麻| 97在线观免费视频观看| jizz免费在线观看| 亚洲AV无码成人专区| 亚洲情XO亚洲色XO无码| 久久WWW色情成人免费观看| 中国内地毛片免费高清| 亚洲日本久久久午夜精品| 好看的电影网站亚洲一区| 免费高清在线爱做视频| 午夜精品射精入后重之免费观看| 亚洲高清毛片一区二区| 99久久亚洲精品无码毛片| 亚洲av中文无码| 国产片AV片永久免费观看| 国产中文字幕在线免费观看| 亚洲国产成人AV在线播放| 久久精品亚洲精品国产色婷| 亚洲国产成人久久一区久久| 午夜性色一区二区三区免费不卡视频 | 国产成人麻豆亚洲综合无码精品| 免费在线看v网址| 久章草在线精品视频免费观看| 亚洲av中文无码字幕色不卡| 亚洲福利视频一区二区三区| 亚洲精品乱码久久久久66| 免费A级毛片无码久久版| 国产啪精品视频网免费| 免费A级毛片无码A∨免费| 国产精品极品美女免费观看| 99热在线免费观看| 99久久免费国产精精品| 国产va免费精品| 黄网站在线播放视频免费观看| 亚洲 暴爽 AV人人爽日日碰 |