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

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

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

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    HibernateException: Unexpected row count: 0 expected: 1

    Posted on 2009-07-22 11:13 leekiang 閱讀(2447) 評論(0)  編輯  收藏 所屬分類: hibernate
    [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
    org.hibernate.HibernateException: Unexpected row count: 0 expected: 1
    ?? ?at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:32)

    ?? ?先用對象操作得到Person p = get(Person.class,35);
    ?? ?直連得到connection,執行delete person where id=35
    ?? ?
    ?? ?事務提交前hibernate會對對象進行檢查,看屬性是否有變化,如果有變化就會執行update操作。
    ?? ?事務方法內既有對象操作,又有sql時,往往sql先執行,
    ?? ?id=35的記錄已經被刪了,再執行update 35時就會報那個臭名昭著的HibernateException: Unexpected row count: 0 expected: 1,不能同步數據庫狀態
    ?? ?為什么有的記錄刪除時會update,有的卻沒有?開始一直沒找到原因,因為update語句太長了,
    ?? ?后來靈機一動,在映射里加了dynamic-update="true",update語句變成了可愛的update Person set zd=? where ID=?
    ?? ?一查AbstractPerson,發現getZd()被修改了:
    ?? ??? ?public String getZd() {
    ?? ??? ?if (zd != null)
    ?? ??? ??? ?return zd;
    ?? ??? ?else
    ?? ??? ??? ?return "";
    ?? ??? }
    ??? 這樣凡是zd為null的記錄,刪除時都會報錯。
    ?? ?
    ?? ?總結:(1)HQL和sql共用時要小心,一不小心就出現數據不同步,有空看看事務的處理
    ?? ?????? (2)映射的類里的get方法不要隨便修改
    主站蜘蛛池模板: 亚洲情a成黄在线观看动漫尤物| 久久久久亚洲?V成人无码| 亚洲不卡中文字幕无码| 美女被羞羞网站免费下载| 成年女人免费碰碰视频| 亚洲三级高清免费| 9久9久女女免费精品视频在线观看| 亚洲成a人片在线观看中文动漫 | 久久精品亚洲综合专区| caoporm碰最新免费公开视频| 免费不卡中文字幕在线| 日本高清免费中文在线看| 亚洲高清无码综合性爱视频| 九九免费观看全部免费视频| 国产成人麻豆亚洲综合无码精品| 国产日韩精品无码区免费专区国产| 亚洲五月午夜免费在线视频| 中国极品美軳免费观看| 亚洲AV永久无码精品| 最好看最新的中文字幕免费| 亚洲一区二区三区深夜天堂| 国内一级一级毛片a免费| 国产精品亚洲小说专区| 亚洲男人的天堂在线va拉文| 国产情侣久久久久aⅴ免费 | 亚洲AV无码成人精品区天堂| 一级毛片**不卡免费播| 亚洲一区二区三区91| 国产又大又长又粗又硬的免费视频 | 8x8×在线永久免费视频| 亚洲中文字幕久久精品无码2021| 一个人免费高清在线观看| 亚洲av最新在线观看网址| 亚洲午夜福利精品久久| 午夜精品射精入后重之免费观看| 亚洲一区二区三区在线网站| 亚洲成A人片在线观看中文| 在线观看免费无码专区| 亚洲综合一区无码精品| 亚洲色图综合在线| 最近在线2018视频免费观看|