<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)站

    搜索

    •  

    最新評(píng)論

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


    Hibernate Quickly

    --讀書筆記



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





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


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

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

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

        
    //對(duì)對(duì)象進(jìn)行操作,可以見到通過這種方式,可以減少對(duì)數(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ù)訪問十分頻繁時(shí),我們還可以使用事務(wù)(Transaction實(shí)現(xiàn)批操作)和數(shù)據(jù)庫池方式:這時(shí)我們需要設(shè)置一下我們的配置文件 hibernate.cfg.xml:


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


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


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

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

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


    這里使用了Hibernate的JTA事務(wù),它讓你能像對(duì)待單一事務(wù)一樣對(duì)待多個(gè)事務(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頁);下面給個(gè)例子

    ehcache.xml

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

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


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

    例子;通過簡單實(shí)例了解Hibernate的使用。

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

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

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

    謝謝大家的支持!!!!下個(gè)文見了,呵呵~~~~~~






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

    FeedBack:
    # re: Hibernate Quickly--讀書筆記(3) [未登錄] 2007-05-15 10:41 SDFSD
    3TRWERE  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 午夜免费国产体验区免费的| 亚洲AV午夜成人片| 国产成人高清精品免费鸭子 | 亚洲视频2020| 亚洲精品少妇30p| 亚洲成AV人片在线播放无码| 亚洲精品国产精品乱码不卡√| 亚洲综合无码精品一区二区三区| 国产亚洲精品a在线观看 | 日韩成人在线免费视频| 日韩视频在线免费| 免费二级毛片免费完整视频| 四虎在线播放免费永久视频| 亚洲毛片网址在线观看中文字幕| 久久精品国产亚洲一区二区三区| 亚洲人JIZZ日本人| 亚洲人成在线电影| 亚洲人成7777影视在线观看| 亚洲综合无码无在线观看| 美女黄频视频大全免费的| xvideos永久免费入口| 免费福利电影在线观看| 亚洲人成在线免费观看| 精品免费国产一区二区三区 | 99久久久国产精品免费牛牛四川| 免费不卡在线观看AV| 免费国产成人高清在线观看网站| 国产高清视频在线免费观看| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | h片在线播放免费高清| 在线免费观看伊人三级电影| 2021精品国产品免费观看| 免费一本色道久久一区| 亚洲av中文无码| 久久精品亚洲综合专区| 亚洲色偷偷色噜噜狠狠99| 人妖系列免费网站观看| 91高清免费国产自产拍2021| 在线免费观看色片| 中文字幕精品亚洲无线码二区| 亚洲精品乱码久久久久久下载 |