Loading...

          java .net

          hibernate的save()疑惑

          剛整明白一個,呵呵,笨
          hibernate save的時候必須啟用事務(wù),也就是必須
          beginTransaction();
          然后
          commit();
          要不然不會insert

          看孫衛(wèi)琴.精通Hibernate:Java對象持久化技術(shù)詳解上講
          調(diào)用save方法后,hibernate并不會立即insert,而是保存在緩存里,等清理緩存時再insert
          什么時候清理緩存呢?
          1、事務(wù)commit();
          2、find方法(hibernate3被廢)
          3、顯示調(diào)用flush();
          而為什么不用事務(wù),只是在save();后直接顯示調(diào)用flush();還是沒有insert呢?
          參考csdn的一個帖子http://topic.csdn.net/u/20080603/19/d6918606-3a62-43a4-b63d-cd292242bbc6.html
          因為數(shù)據(jù)源的問題
          真正的原因是數(shù)據(jù)源conn默認的提交方式,hibernate不管這件事,大部分開源數(shù)據(jù)源都是默認false的

          我試了hibernate的默認連接池,和tomcat中配的連接池用使用事務(wù)都沒有insert。
          下面這段代碼能夠insert可以說明一些問題
              public static void main(String[] args) throws Exception {
          SessionFactory sf
          =HibernateSessionFactory.getSessionFactory();
          Session session
          =sf.openSession();
          System.out.println(session.connection().getAutoCommit());
          session.connection().setAutoCommit(
          true);
          User u
          =new User();
          u.setName(
          "aaa");
          session.save(u);
          }

          }
          而commit和flush的區(qū)別就是commit先flush再提交,而flush沒有提交
          而在close的時候,孫衛(wèi)琴.精通Hibernate:Java對象持久化技術(shù)詳解上講的是hibernate會清空緩存,一個清理,一個清空,一字之差,呵呵

          posted on 2008-08-26 22:07 閱讀(789) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導(dǎo)航

          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網(wǎng)絡(luò)

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 科技| 深州市| 罗城| 桓仁| 尼勒克县| 托里县| 双流县| 鄂伦春自治旗| 柳河县| 开封市| 乐陵市| 兴海县| 乌拉特后旗| 若尔盖县| 文安县| 内丘县| 永济市| 门源| 景宁| 兴业县| 宁陵县| 苏尼特左旗| 集安市| 博湖县| 吉隆县| 利辛县| 北票市| 乐至县| 丰县| 宁明县| 崇文区| 寿光市| 长白| 通河县| 华坪县| 阿巴嘎旗| 日照市| 天柱县| 普兰县| 东乡| 中西区|