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

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

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

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網(wǎng)站

    搜索

    •  

    最新評論

    (本人的文章是在放屁,再次建議,大家一定要好好地看看這本書)


    Hibernate Quickly

    --讀書筆記



    大家好啊 我是尋覓!
           相信大家已經(jīng)對Hibernate 有了初步的了解,接下來我們將以最短的章節(jié)進(jìn)一步去了解剩下的章節(jié);這里我把書中我覺得最重要的內(nèi)容寫出來和大家分享,剩下的內(nèi)容大家可以通過看這本書補(bǔ)上,沒錢買書的朋友可以到我的前一個文《Hibernate Quickly--讀書筆記(2)》那里去下載,英文版的pdf電子書去看看;
         好了進(jìn)入正題,上次我們把配置文件給講了:大家先看看這個圖,整個基礎(chǔ)知識部分,我們都將圍繞著這個圖來講解:





    配置、SessionFactory和Session使用部分講完了,我們繼續(xù)講Session緩存,先看一段相關(guān)代碼:


    //從SessionFactory中獲取一個Session
    Session session = factory.openSession();

    //將Event加載入Session中,并實例化Event對象
    Event e = (Event) session.load(Event.class, myEventId);

        
    //為加載的對象取名
    e.setName("New Event Name");

        
    //對對象進(jìn)行操作,可以見到通過這種方式,可以減少對數(shù)
    //據(jù)庫的操作,提高系統(tǒng)的性能和安全性;通常我們的多
    //部操作只需要一次的數(shù)據(jù)庫持久化操作
    session.saveOrUpdate(e);

        
    //第二次操作
    Event e = (Event) session.load(Event.class, myEventId);
    e.setDuration(
    180);
    session.saveOrUpdate(e);

    //刷新緩沖區(qū)將數(shù)據(jù)寫入數(shù)據(jù)庫,完成數(shù)據(jù)持久化
    session.flush();


    當(dāng)我們的數(shù)據(jù)訪問十分頻繁時,我們還可以使用事務(wù)(Transaction實現(xiàn)批操作)和數(shù)據(jù)庫池方式:這時我們需要設(shè)置一下我們的配置文件 hibernate.cfg.xml:


    <property name="transaction.factory_class">
    org.hibernate.transaction.JTATransactionFactory
    </property>
    <property name="jta.UserTransaction">
    java:comp/UserTransaction
    </property>


    接著我們就可以使用事務(wù)(Transaction)了:


    //開始第一個事務(wù)
    Transaction tx0 = session.beginTransaction();
    Event event 
    = new Event();
    //進(jìn)行操作
    session.saveOrUpdate(event);

    //開始第二個事務(wù)
    Transaction tx1 = session.beginTransaction();
    Location location 
    = new Location();
    //進(jìn)行操作
    session.saveOrUpdate(location);

    //分別提交兩個事務(wù)
    tx0.commit();
    tx1.commit();


    這里使用了Hibernate的JTA事務(wù),它讓你能像對待單一事務(wù)一樣對待多個事務(wù);數(shù)據(jù)池書中沒這么提起,大家自己看 p74 頁中的介紹;

    接著我們進(jìn)入主要的內(nèi)容,Session緩存

     

    緩存服務(wù)

    提供者類

    類型

    EHCache

    org.hibernate.cache.EhCacheProvider

    內(nèi)存,磁盤

    OSCache

    org.hibernate.cache.OSCacheProvider

    內(nèi)存,磁盤

    SwarmCache

    org.hibernate.cache.SwarmCacheProvider

    集群

    TreeCache

    org.hibernate.cache.TreeCacheProvider

    集群



    不同類型的緩存均有其特性;

     

    緩存服務(wù)

    只讀

    讀寫

    單讀寫

    是否支持務(wù)

    EHCache

    OSCache

    SwarmCache

    TreeCache



    根據(jù)我們的需要選擇要用的Cache,當(dāng)然我們也可以自己定義咯(這里不講大家自己看書
    P81頁);下面給個例子

    ehcache.xml

     
    <!--聲明使用EHCache緩存服務(wù)-->
    <ehcache>
    <!--設(shè)置磁盤存儲的位置-->
    <diskStore path="java.io.tmp"/>
    <!--一般常規(guī)設(shè)置-->
    <defaultCache
    <!--內(nèi)存保存緩存對象的個數(shù)-->
    maxElementsInMemory="10"
    <!--設(shè)置緩存對象是會過期的-->
    eternal="false"
    <!--對象的存活期-->
    timeToIdleSeconds="120"
    timeToLiveSeconds="120"
    <!--超過maxElementsInMemory是否保存至diskStore中-->
    overflowToDisk="true"/>

    <!--為Event對象設(shè)置緩存,設(shè)置選項與上面對應(yīng)-->
    <cache name="com.manning.hq.ch03.Event"
    maxElementsInMemory
    ="20"
    eternal
    ="false"
    timeToIdleSeconds
    ="120"
    timeToLiveSeconds
    ="180"
    overflowToDisk
    ="true"/>
    </ehcache>


    OK講完咯,大家會覺得瞞亂滴,沒關(guān)系下個文章,我將直接跳到一個Spring&Hibernate的

    例子;通過簡單實例了解Hibernate的使用。

    后面還有個小節(jié)講的是繼承問題,這個大家都有接觸過自己看看估計沒問題!

    到這里書中的基礎(chǔ)部分內(nèi)容OVER了,

    接著這樣安排大家自己把后面的HQL和Hibernate使用的細(xì)節(jié)看看;

    謝謝大家的支持!!!!下個文見了,呵呵~~~~~~






    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-04-07 11:36 小尋 閱讀(332) 評論(1)  編輯  收藏 所屬分類: j2se/j2ee/j2me

    FeedBack:
    # re: Hibernate Quickly--讀書筆記(3) [未登錄] 2007-05-15 10:41 SDFSD
    3TRWERE  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲精品无码鲁网中文电影| 亚洲精品视频久久| 日韩精品免费视频| 亚洲AV成人噜噜无码网站| 国产一级淫片a视频免费观看| 在线看片免费人成视频久网下载| 亚洲国产精品线观看不卡| 亚洲JIZZJIZZ妇女| 在线观看午夜亚洲一区| 波多野结衣中文字幕免费视频 | 狠狠综合久久综合88亚洲| 久久午夜夜伦鲁鲁片免费无码 | 国内精品久久久久影院亚洲| 亚洲国产综合精品一区在线播放| 久久精品熟女亚洲av麻豆| AV免费网址在线观看| 好吊色永久免费视频大全| 亚洲中文字幕无码久久综合网| 国产福利视精品永久免费| 一边摸一边桶一边脱免费视频 | 中文字幕人成人乱码亚洲电影| 动漫黄网站免费永久在线观看| 精精国产www视频在线观看免费| 亚洲不卡在线观看| 国产成A人亚洲精V品无码 | 亚洲毛片基地日韩毛片基地| yy6080亚洲一级理论| 日本一区二区在线免费观看| 国产午夜亚洲精品国产成人小说| 国产精品免费久久久久久久久| 亚洲AV无码专区在线亚| 亚洲大片在线观看| 中文字幕专区在线亚洲| 日韩免费在线观看| 丁香花免费完整高清观看| 57pao一国产成视频永久免费| 国产免费牲交视频免费播放| 白白色免费在线视频| 色在线亚洲视频www| 久久亚洲中文字幕精品有坂深雪| 久久影院亚洲一区|