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

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

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

    隨筆 - 147  文章 - 71  trackbacks - 0
    <2009年1月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(146)

    隨筆檔案(147)

    文章分類(28)

    文章檔案(28)

    喜歡的Blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    1.      org/hibernate/criterion/Criterion

    工程布署的時候沒有加入hibernate3jar包,這個jar不是默認加入的,要在myeclipse -> add hibernate capabilities... ->選擇copy checked libraries to project folder and add to build-path否則工程布署的時候無論如何是不會有hibernate的包的。

    2.      org.hibernate.id.IdentifierGenerationException

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

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

    generator class="assigned“而類型type="java.lang.Integer”如果主鍵時自動增長的Int型,把assigned改成自動增長的Identityassigned是自動增長的varchar型的。

    3.      org.hibernate.PropertyValueException

    數(shù)據庫的表里字段設有not null,執(zhí)行dao.delete(op); 時出現(xiàn)異常:

    org.hibernate.PropertyValueException: not-null property references a null or transient value: com.easyfile.util. Operators. operatorid

    OperatorsDAO.javaprivate static Logger logger = Logger.getLogger(AdminAction.class);這句并沒有顯式地自動加載Id過來,還是需要dao.getSession().load(op,op.getOperatorid());來加載id。完整的代碼如下:

    String operatorid = request.getParameter("delOperatorid");

    OperatorsDAO dao=new OperatorsDAO();

    Transaction tran=dao.getSession().beginTransaction();

    Operators op = new Operators();

    op.setOperatorid(Integer.parseInt(operatorid));

    dao.getSession().load(op,op.getOperatorid());

    dao.delete(op);

    tran.commit();

    dao.getSession().close();

    4.      null id in entry (don't flush the Session after an exception occurs)

    產生該異常信息有2種可能:

    Ø         我們沒有為數(shù)據中的非空字段設置值。如果我們在通過Hibernate增加一條記錄的時候我們必須顯式的通過setXxx方法為該屬性賦值(/默認值)。因為在保存之前Hibernate會檢查該非空字段對應的實體屬性是否為空。如果不想顯式賦值的話,我們可以通過xxx.hbm.xml配置文件來實現(xiàn),也就是在配置文件中給出該字段的默認值。或者在你的類中設置默認值就行了。注意的是rename數(shù)據庫保留字段。

    Ø         hibernate的配置文件中,有的元素有unique屬性的配置,它在數(shù)據添加時并不起任何作用,只在從hbm文件生成ddl語句時才有作用,并不會在運行時校驗數(shù)據。防止數(shù)據重復添加,要么在數(shù)據庫上建立唯一索引(數(shù)據庫保證),要么在插入時提前校驗(人為保證)。當然,多數(shù)情況下是兩者結合。

    5.      org.hibernate.hql.ast.QuerySyntaxException

    Ø         持久類寫錯了,要不就是寫成了數(shù)據庫表名

    Ø         hibernate3.0不支持select中嵌套查詢,據說from中也不行,只支持where中嵌套查詢,好像3.1支持了select中嵌套

    Ø         sql語句中字段是用了保留關鍵字

    posted on 2009-01-21 20:01 飛翔天使 閱讀(5070) 評論(1)  編輯  收藏 所屬分類: Hibernate

    FeedBack:
    # re: 【Hibernate總結系列】常見異常總結 2013-07-25 09:46 巍峨巍峨
    黨的政策哈珀  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩欧美一区二区三区免费观看| 免费三级毛片电影片| 免费无码一区二区三区蜜桃 | 无码国产精品一区二区免费式直播| 国产成人A亚洲精V品无码 | 亚洲性猛交xx乱| 波多野结衣在线免费视频| 亚洲成人动漫在线观看| 在线观看视频免费完整版| 亚洲综合精品伊人久久| 好爽…又高潮了毛片免费看| 亚洲精品乱码久久久久久V| 日本高清色本免费现在观看| 免费夜色污私人影院网站电影| 久久亚洲2019中文字幕| 中文字幕免费播放| 久久久亚洲欧洲日产国码aⅴ| 国产91色综合久久免费分享| 中文字幕乱码亚洲精品一区 | 啦啦啦在线免费视频| 免费精品国自产拍在线播放| 亚洲国产精品嫩草影院在线观看 | 精品亚洲永久免费精品| 日韩精品无码免费一区二区三区 | 一级午夜免费视频| 亚洲欧洲免费无码| 性色av极品无码专区亚洲| 久久精品国产亚洲精品| 亚洲黄色免费网站| 亚洲av无码日韩av无码网站冲| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 一区在线免费观看| 亚洲国产精品婷婷久久| 成人免费午间影院在线观看| 一级一片免费视频播放| 亚洲精彩视频在线观看| 国产一级理论免费版| 日韩免费视频一区二区| 亚洲国产精品无码久久九九大片 | 一级毛片a女人刺激视频免费 | 国产成人不卡亚洲精品91|