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

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

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

    superwei

    導(dǎo)航

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    統(tǒng)計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    Hibernate的原理與配置快速入門(4)

     創(chuàng)建一個SessionFactory對象

      為了能創(chuàng)建一個SessionFactory對象,你必須在Hibernate初始化時創(chuàng)建一個Configuration類的實例,并將已寫好的映射文件交由它處理。這樣,Configuration對象就可以創(chuàng)建一個SessionFactory對象,當(dāng)SessionFactory對象創(chuàng)建成功后,Configuration對象就沒有用了,你可以簡單地拋棄它。如下是示例代碼:

    Configuration cfg = new Configuration();
    cfg.addResource("hello/Message.hbm.xml");
    cfg.setProperties( System.getProperties() );
    SessionFactory sessions = cfg.buildSessionFactory();

      在以上代碼中,Message.hb.xml這個映射文件的位置比較特殊,它與當(dāng)前的classpath相關(guān)。例如classpath包含當(dāng)前目錄,那在上述代碼中的Message.hbm.xml映射文件就可以保存在當(dāng)前目錄下的hello目錄中。

      作為一種約定,Hibernate的映射文件默認以.htm.xml作為其擴展名。另一個約定是堅持為每一個持久類寫一個配置文件,想一想如果你將所有持久類的映射寫入一個單獨的配置文件中的話,那這個配置文件肯定非常龐大,不易維護。但這里又出現(xiàn)了一個新問題:如果為每個類寫一個配置文件的話,這么多的配置文件應(yīng)該存放在哪里呢?

      Hibernate推薦你將每個映射文件保存在與持久類相同的目錄下,并且與持久類同名。例如我們第一個示例程序中的Message持久類放在hello目錄下,那你必須在這個目錄下存放名為Message.hbm.xml的映射文件。這樣一個持久類都有自己的一個映射文件,避免了出現(xiàn)像struts項目中的“struts-config.xml地獄”的情況。如果你不遵循這種規(guī)定,那你必須手動地用addResource()方法將一個個的映射文件載入;但你如果遵循這種規(guī)定,那你可以方便地用addClass()方法同時將持久類和它的映射文件載入,以下是體現(xiàn)這種便利性的示例代碼:

    SessionFactory sessions = new Configuration()
    .addClass(org.hibernate.auction.model.Item.class)
    .addClass(org.hibernate.auction.model.Category.class)
    .addClass(org.hibernate.auction.model.Bid.class)
    .setProperties( System.getProperties() )
    .buildSessionFactory();

      當(dāng)然,Hibernate的映射文件還有很多其它的配置選項,比如數(shù)據(jù)庫連接的設(shè)定,或是能夠改變Hibernate運行時行為的一些設(shè)定。所有的設(shè)置可能是非常龐雜的,足以讓你喘不過氣來,但是不必擔(dān)心,因為Hibernate為絕大多數(shù)值都設(shè)定了一個合理缺省值,你只需要修改這些配置文件中的極小一部分值。

      你可以通過以下幾種方式來修改Hibernate的系統(tǒng)配置參數(shù):

      · 將一個Java.util.Properties實例作為參數(shù)傳給Configuration類的setProperties()方法。

      · 在Hibernate啟動時用Java –Dproperty=value的方式設(shè)置值。

      · 在classpath可以找到的路徑下創(chuàng)建一個名為hibernate.properties的配置文件。

      · 在classpath可以找到的路徑下創(chuàng)建一個名為hibernate.cfg.xml的文件,并在其<property>標(biāo)簽中定義屬性值。

      以上就是對Hibernate的一個大致介紹,如果你想知道得更多,那本文還是遠遠不夠的,我將陸續(xù)推出更多關(guān)于Hibernate的資料。但有一點是毫無疑問的:它的確是一個非常優(yōu)秀的持久層解決方案!

    posted on 2005-10-31 11:31 小辭猬 閱讀(287) 評論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 伊人免费在线观看| 美女露隐私全部免费直播| 无码日韩精品一区二区免费暖暖| 亚洲福利精品电影在线观看| 国产99久久亚洲综合精品| 国产精品无码一区二区三区免费| 亚洲精品成a人在线观看夫 | 少妇性饥渴无码A区免费| 亚洲日本一区二区三区在线| fc2免费人成在线视频| 亚洲另类激情综合偷自拍图| a毛片免费全部在线播放**| 亚洲AV无码不卡在线播放| 69视频在线是免费观看| 亚洲性无码一区二区三区| 国产精品久久久久免费a∨| 亚洲成a人片在线播放| 一级做a爰片性色毛片免费网站| 免费在线观看的黄色网址| 国产精品午夜免费观看网站| 亚洲AV无码第一区二区三区| 四虎1515hh永久久免费| 亚洲色欲啪啪久久WWW综合网| 又黄又爽一线毛片免费观看 | 久久99毛片免费观看不卡| 性做久久久久免费观看| 视频免费1区二区三区| 国产亚洲精品精华液| av无码国产在线看免费网站| 亚洲乱码无码永久不卡在线| 日本在线看片免费人成视频1000| 亚洲综合激情九月婷婷| 日韩视频免费在线| 日韩电影免费在线观看网站| 亚洲欧洲另类春色校园网站| 免费成人黄色大片| 暖暖日本免费中文字幕| 亚洲国产成人久久综合| 亚洲av永久无码精品漫画| 日本无吗免费一二区| 久青草视频在线观看免费|