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

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

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

    太陽雨

    痛并快樂著

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      67 Posts :: 3 Stories :: 33 Comments :: 0 Trackbacks
    本文總結Hibernate中常見的異常。

    1. net.sf.hibernate.MappingException

           當出現net.sf.hibernate.MappingException: Error reading resource:…異常時一般是因為映射文件出現錯誤。

           當出現net.sf.hibernate.MappingException: Resource: … not found是因為XML配置文件沒找到所致,有可能是放置目錄不正確,或者沒將其加入hibernate.cfg.xml中。

    2. net.sf.hibernate.PropertyNotFoundException

           當出現net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property name in class …時,原因一般是因為XML映射文件中的屬性與對應的Java類中的屬性的gettersetter方法不一致。

    3. org.hibernate.id.IdentifierGenerationException

           當出現org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():異常時,一般是因為<id>元素配置不正確,<id>元素缺少其子元素<generator></generator>的配置引起。

           解決方案:<id>元素映射了相應數據庫表的主鍵字段,對其子元素<generator class="">,其中class的取值可以為incrementidentitysequencehilonative……等,更多的可參考hibernate參考文檔,一般取其值為native 。具體可參考2.2.2.1小節。

    4. a different object with the same identifier value was already associated with the session

           當出現a different object with the same identifier value was already associated with the session時,一般是因為在hibernate中同一個session里面有了兩個相同標識但是是不同實體。

           有如下幾種解決方案:

    1)使用session.clean(),如果在clean操作后面又進行了saveOrUpdate(object)等改變數據狀態的操作,有可能會報出"Found two representations of same collection"異常。

    2)使用session.refresh(object),當object不是數據庫中已有數據的對象的時候,不能使用session.refresh(object)因為該方法是從hibernatesession中去重新取object,如果session中沒有這個對象,則會報錯所以當你使用saveOrUpdate(object)之前還需要判斷一下。

    3session.merge(object)Hibernate里面自帶的方法,推薦使用。

    5. SQL Grammer Exception,Could not execute JDBC batch update

           當出現SQL Grammer Exception,Could not execute JDBC batch update異常時,一般是由如下問題引起:

    1SQL語句中存在語法錯誤或是傳入的數據有誤;

    2)數據庫的配置不合法,或者說是配置有誤。較容易出現的有數據表的映射文件(,hbm.xml文件)配置有誤;Hibernate.cfg.xml文件配置有誤;

    3 當前的數據庫用戶權限不足,不能操作數據庫。以是以Oracle 數據庫為例,這種情況下在錯誤提示中會顯示java.sql.BatchUpdateException: ORA-01031: insufficient privileges這樣的信息。

           針對上面的各種原因,開發人員可以找出對應的解決方案。

    posted on 2008-10-21 14:29 小蟲旺福 閱讀(9261) 評論(2)  編輯  收藏 所屬分類: hibernate相關

    Feedback

    # re: Hibernate常見異常總結(不斷補充) 2015-08-04 15:42 re: Hibernate常見異常總結(不斷補充)
    re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充) re: Hibernate常見異常總結(不斷補充)   回復  更多評論
      

    # re: Hibernate常見異常總結(不斷補充) 2015-08-04 15:43 re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
    @re: Hibernate常見異常總結(不斷補充)
      回復  更多評論
      

    主站蜘蛛池模板: 亚洲第一香蕉视频| 亚洲天堂久久精品| 亚洲国产美女精品久久久| 18女人腿打开无遮掩免费| 四虎精品成人免费视频| 国产无遮挡吃胸膜奶免费看视频 | 亚洲精品美女在线观看| 中文字幕免费在线| 亚洲AV无码乱码在线观看代蜜桃| 亚洲AV无码专区亚洲AV桃| 国产婷婷成人久久Av免费高清 | 久久亚洲精品成人| 一级毛片**不卡免费播| 色婷婷亚洲十月十月色天| 18级成人毛片免费观看| 亚洲成人在线免费观看| 毛片大全免费观看| 国产成人va亚洲电影| 久久国产成人精品国产成人亚洲| 亚洲校园春色小说| 久久电影网午夜鲁丝片免费| 妇女自拍偷自拍亚洲精品| 四虎永久在线精品免费观看视频| 亚洲卡一卡二卡乱码新区| 国产免费69成人精品视频| h视频在线免费观看| 日韩精品亚洲人成在线观看 | 亚洲国产女人aaa毛片在线| 免费人成视频在线观看网站| 亚洲av成人综合网| 亚洲av日韩av欧v在线天堂| 亚洲专区中文字幕| 国产91久久久久久久免费| 最新国产乱人伦偷精品免费网站| 亚洲精品中文字幕无乱码| 国产老女人精品免费视频| 久久久久久av无码免费看大片 | 精品国产_亚洲人成在线| 亚洲色婷婷六月亚洲婷婷6月| 18禁美女裸体免费网站| 国产精品手机在线亚洲|