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

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

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

    隨筆 - 175  文章 - 202  trackbacks - 0
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    第一個Blog,記錄哈哈的生活

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    Java links

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    batch_size 即同時提交數據的數量,原本與事務并沒有什么關系,但如果涉及到同一張表數據的同一種操作,可能就會發生微妙的關系了。

    場景如下:
    場景一:使用 spring 控制事務,將方法事務配置為 not_supported,向同一張表中插入兩條數據,保證第一條數據正常插入,而第二條數據受約束(如唯一約束)插入失敗。

    預測結果:第一條數據成功,第二條失敗。
    實際結果:兩條數據均失敗。
    原因:hibernate 將兩條插入放到了同一個 batch 中,提交同時失敗了。

    場景二:同樣使用 spring 控制事務,將方法事務配置為 not_supported,向第一張表中插入一條合法數據,成功,向第二張表插入數據,受約束(如唯一約束)插入失敗。

    預測結果:第一條數據成功,第二條失敗。
    實際結果:第一條數據成功,第二條失敗。
    原因:hibernate 分別插入數據并提交,在無事務的情況下,第一條成功,第二條失敗。

    那么如何讓場景一得到預測結果呢,一個簡單的解決方法,將 hibernate.jdbc.batch_size 設置為 1,即可。

    所以,即使控制了事務,也未必能夠得到期望的結果,還需要考慮某些特殊的場景帶來的影響。
    posted on 2008-03-06 14:18 哈哈的日子 閱讀(1830) 評論(2)  編輯  收藏 所屬分類: Java

    FeedBack:
    # re: Hibernate 的 batch_size 與事務[未登錄] 2008-03-06 22:55 Doublej
    是不是加上:
    <property name="jdbc.batch_size">1</property>
    我特意試了下.好像還是兩條都不成功...  回復  更多評論
      
    # re: Hibernate 的 batch_size 與事務 2008-03-07 11:15 哈哈的日子
    試一下 hibernate.jdbc.batch_size,看看事務配置,我這邊沒問題。  回復  更多評論
      
    主站蜘蛛池模板: 18禁超污无遮挡无码免费网站| 丁香六月婷婷精品免费观看| 免费女人高潮流视频在线观看| 中文字幕亚洲一区二区三区| 免费视频精品一区二区| 免费很黄很色裸乳在线观看| 国产精品免费精品自在线观看| 久久久久亚洲AV片无码| 久久国产精品免费专区| 亚洲资源在线视频| 67194国产精品免费观看| 久久精品亚洲一区二区三区浴池 | 国产精品免费观看| 国产成人亚洲精品| 日本免费一区二区三区最新| 亚洲A∨精品一区二区三区下载| 国产又大又粗又硬又长免费| 人人爽人人爽人人片A免费| 亚洲自偷自偷图片| 99re热精品视频国产免费| 亚洲fuli在线观看| 成人性生交大片免费看中文| 亚洲国产精品一区二区久久hs| 无码av免费网站| 2020天堂在线亚洲精品专区| 国产午夜影视大全免费观看| 国产一级婬片A视频免费观看| 亚洲第一精品在线视频| 免费精品人在线二线三线区别| 亚洲av无码成人精品国产 | 亚洲精品天堂成人片AV在线播放 | 亚洲精品白浆高清久久久久久| 中文字幕在线免费| 视频一区在线免费观看| 久久精品亚洲综合| 永久久久免费浮力影院| 国产一区二区免费| 亚洲av无码专区青青草原| 久久精品国产精品亚洲色婷婷| 手机在线毛片免费播放| 你懂得的在线观看免费视频|