<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java究竟怎么玩?

      天地程序已定棋,人間大數待變局

        博客園  :: 首頁  :: 新隨筆  :: 聯系 :: 訂閱 訂閱  :: 管理

        國人跟風之潮,自古有之,至今亦然。

         確實,經過配置優化的Hibernate效率與無任何優化的Hibernate效率誠然不可同日而語。但由于項目開發的復雜性,開發周期中一些突發因素的制約,及項目構建者自身能力的約束,在大型項目中,尤其是在表結構復雜的大型項目中,以某之愚見,國內能將Hibernate真正使用妥當者,尚未多有。

      目前隨處可見的Hibernate優化方式無外以下幾條

         1、修改hibernate.properties,增加以下兩句:

                hibernate.jdbc.fetch_size=50 設定JDBC的Statement讀取數據的時候每次從數據庫中取出的記錄條數,目前MySQL似乎還不支持
                hibernate.jdbc.batch_size=100 對數據庫進行批量刪除,批量更新和批量插入的時候的批次大小,令多條語句使用batch操作

         2、one-to-many的關系里將lazy設成true,開啟延遲加載

         3、HQL優化,對于語句本身進行優化

         4、映射文件優化(ID生成策略,二級緩存,延遲加載,關聯優化)

         5、對大數據量查詢時,慎用list()或者iterator()返回查詢結果

         6、Session管理優化,可考慮使用spring的HibernateTemplate

         7、一級緩存的管理優化

         8、針對二級緩存,使用相關策略

         9、事務控制優化
       
        另外Hibernate本身借助cglib對字節碼有一定程度的優化,但是目前受到Java本身效率限制,感覺上幫助并非很大。

        當然了,我僅是大體上說說,本身還有很多很多細節方面的問題存在,及其它很多設置可供調整。但是,由于本人之不學,即使這樣,設定出的Hibernate之效率依舊不高,PS:我開篇便已說過,這是由于本人能力低下造成的,與Hibernate無甚相關。

        但在同樣表結構復雜項目中,使用相對簡單的ibatis,不需什么配置,卻明顯在效率上優于Hibernate(再重申,在下從沒說過Hibernate效率有問題,只是某才疏學淺配置不當而已),

        我粗略的將兩者作以下對比:


      1.  iBATIS非常簡單易學,Hibernate相對較復雜,門檻較高(借助IDE還比較方便)。

      2.  二者都是比較優秀的開源產品(誰否認?誰敢否認?)

      3.  當系統屬于二次開發,無法對數據庫結構做到控制和修改,那iBATIS的靈活性將比Hibernate更適合(我就是經常做遺留項目……)

      4.  系統數據處理量巨大,性能要求極為苛刻,這往往意味著我們必須通過經過高度優化的SQL語句(或存儲過程)才能達到系統性能設計指標。在這種情況下iBATIS會有更好的可控性和表現。

      5.  iBATIS需要手寫sql語句,也可以生成一部分,Hibernate則基本上可以自動生成,偶爾會寫一些Hql。同樣的需求,iBATIS的工作量比

      Hibernate要大很多。類似的,如果涉及到數據庫字段的修改,Hibernate修改的地方很少,而iBATIS要把那些sql mapping的地方一一修改。(真正配置好的Hibernate當然很方便,問題是什么人負責配置……)

      6.  iBATIS以數據庫字段一一對應映射得到的PO和Hibernte這種對象化映射得到的PO是截然不同的,本質區別在于這種PO是扁平化的,不像Hibernate映射的PO是可以表達立體的對象繼承,聚合等等關系的,這將會直接影響到你的整個軟件系統的設計思路。

      7.  Hibernate現在已經是主流O/R Mapping框架,從文檔的豐富性,產品的完善性,版本的開發速度都要強于iBATIS(從目前大多數公司的跟風態度便可以看出)

      8.  最關鍵的一句話是iBATIS的作者說的,我認為很誠懇:
      If you are starting a new project and you're in full control of your object model and database design, Hibernate is a good choice of O/R tool.
      If you are accessing any 3rd party databases (e.g. vendor supplied), or you're working with a legacy database, or even just a really poorly designed database, then an O/R mapper might not be capable of handling the situation. That's were an SQL Mapper comes in handy

       事實上,我并不反對Hibernate,而且是在爭取成為其擁護者(最近在開始扣Hibernate代碼,其實從05年就開始,但是沒堅持超過3天……),

      但是,以某之不才及短見,卻不贊同無論任何項目都使用Hibernate,尤其是無理由的想當然跟風使用。甚至某些人把背下Hibernate中一些API都當成很自豪的事情,更讓我覺得不可理喻。
       
       框架體系這些東西,說到底,是為更有效的完成編程目的而存在的。無論內部斗得多么厲害,對用戶來說也是毫不相關的事情(除非用戶在某些事物影響下自己提出來要用什么框架……), 愚雖不才,還是希望能因時因人因事而定,不要一概而論。

      有感而發,不知所云,興起而言,興盡乃至。
       
      posted on 2007-08-19 19:56  cping  閱讀(182)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品 无码 国产观看| 国产午夜福利短视频| 丁香五月婷激情综合第九色| 人妻一区二区三区人妻黄色| 亚洲一区二区精品偷拍| 亚洲色偷拍区另类无码专区| 日韩人妻不卡一区二区三区| 蜜桃亚洲一区二区三区四| 国产精品亚洲а∨天堂2021| 日本道之久夂综合久久爱| 一本一道av无码中文字幕麻豆| 国产精品无码v在线观看| 摸丰满大乳奶水www免费| 亚洲色精品VR一区二区三区| 成人午夜av在线播放| 一区二区三区放荡人妻| 在线观看成人永久免费网站| 荣成市| 中文文字幕文字幕亚洲色| 91久久性奴调教国产免费| 欧美亚洲日本国产其他| 成在线人视频免费视频| 又大又紧又粉嫩18p少妇| 99久久婷婷国产综合精品青草漫画| 国产人妻高清国产拍精品| 日韩国产中文字幕精品| 日本污视频在线观看| 亚洲一区二区中文字幕| 日韩激情一区二区三区| 久草热大美女黄色片免费看| 国产偷窥熟女精品视频大全| 日韩高清视频 一区二区| 国产成人不卡无码免费视频| 亚洲国产一区二区三区最新| 国产AV影片麻豆精品传媒| 天天做天天躁天天躁| 日本道之久夂综合久久爱| 国产一区二区高潮视频| 中文字幕亚洲人妻系列| 国产综合av一区二区三区| 午夜dv内射一区二区|