<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ù)據(jù)庫表的主鍵字段,對其子元素<generator class="">,其中class的取值可以為incrementidentity、sequence、hilo、native……等,更多的可參考hibernate參考文檔,一般取其值為native

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

    3.      org.hibernate.PropertyValueException

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

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

    5.      org.hibernate.hql.ast.QuerySyntaxException

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

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

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

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

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

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


    網站導航:
     
    主站蜘蛛池模板: 一级毛片成人免费看免费不卡| 亚洲精品综合一二三区在线| 亚洲va久久久久| 日本一卡精品视频免费| 亚洲av一综合av一区| 在线观看免费播放av片| 亚洲性猛交XXXX| 中国内地毛片免费高清| 亚洲日韩乱码中文无码蜜桃臀网站| 免费在线观看自拍性爱视频| 亚洲国产成人精品91久久久| 国产精品1024在线永久免费 | 色影音免费色资源| 亚洲成a人片在线观| 三年片在线观看免费大全| 亚洲一级免费毛片| 国产福利免费在线观看| 午夜免费国产体验区免费的| 国产亚洲老熟女视频| 久久亚洲免费视频| 亚洲一级黄色大片| 日韩高清免费在线观看| 一个人看www免费高清字幕| a级亚洲片精品久久久久久久 | 一区二区三区精品高清视频免费在线播放| 免费在线不卡视频| 在线播放免费人成毛片乱码 | 亚洲AV无码国产一区二区三区| 国产乱弄免费视频| 国产一级一毛免费黄片| 亚洲福利一区二区精品秒拍| 免费涩涩在线视频网| 二个人看的www免费视频| 久久亚洲精品无码VA大香大香| 57PAO成人国产永久免费视频| 国产区图片区小说区亚洲区| 国产亚洲AV夜间福利香蕉149| 午夜免费1000部| 特级毛片A级毛片100免费播放| 亚洲va久久久噜噜噜久久| 无限动漫网在线观看免费|