Loading...

          java .net

          hibernate的save()疑惑

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

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

          我試了hibernate的默認連接池,和tomcat中配的連接池用使用事務都沒有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的區別就是commit先flush再提交,而flush沒有提交
          而在close的時候,孫衛琴.精通Hibernate:Java對象持久化技術詳解上講的是hibernate會清空緩存,一個清理,一個清空,一字之差,呵呵

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


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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

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

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 贡嘎县| 洪江市| 正安县| 宁陕县| 资兴市| 德江县| 临漳县| 五寨县| 平湖市| 厦门市| 襄汾县| 绥德县| 米易县| 虹口区| 屯门区| 安徽省| 扎赉特旗| 东乡| 茌平县| 玛沁县| 运城市| 江川县| 绥化市| 绥江县| 穆棱市| 广东省| 桃园县| 利辛县| 虞城县| 武功县| 甘德县| 新宾| 崇文区| 秦皇岛市| 慈溪市| 宁波市| 房产| 巫山县| 济南市| 长宁区| 贡觉县|