<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的原理與配置快速入門(3)

    一個重要的術(shù)語:Type

      Hibernate的設(shè)計者們發(fā)明了一個術(shù)語:Type,它在整個構(gòu)架中是一個非常基礎(chǔ)、有著強大功能的元素。一個Type對象能將一個Java類型映射到數(shù)據(jù)庫中一個表的字段中去(實際上,它可以映射到表的多個字段中去)。持久類的所有屬性都對應(yīng)一個type。這種設(shè)計思想使用Hibernate有著高度的靈活性和擴展性。

      Hibernate內(nèi)置很多type類型,幾乎包括所有的Java基本類型,例如Java.util.Currency、Java.util.calendar、byte[]和Java.io.Serializable。

      不僅如此,Hibernate還支持用戶自定義的type,通過實現(xiàn)接口UserType和接口CompositeUserType,你可以加入自己的type。你可以利用這種特色讓你的項目中使用自定義的諸如Address、Name這樣的type,這樣你就可以獲得更大的便利,讓你的代碼更優(yōu)雅。自定義type在Hibernate中是一項核心特色,它的設(shè)計者鼓勵你多多使用它來創(chuàng)建一個靈活、優(yōu)雅的項目!

      策略接口

      Hibernate與某些其它開源軟件不同的還有一點――高度的可擴展性,這通過它的內(nèi)置策略機制來實現(xiàn)。當(dāng)你感覺到Hibernate的某些功能不足,或者有某些缺陷時,你可以開發(fā)一個自己的策略來替換它,而你所要做的僅僅只是繼承它的某個策略接口,然后實現(xiàn)你的新策略就可以了,以下是它的策略接口:

      · 主鍵的生成 (IdentifierGenerator 接口)

      · 本地SQL語言支持 (Dialect 抽象類)

      · 緩沖機制 (Cache 和CacheProvider 接口)

      · JDBC 連接管理 (ConnectionProvider接口)

      · 事務(wù)管理 (TransactionFactory, Transaction, 和 TransactionManagerLookup 接口)

      · ORM 策略 (ClassPersister 接口)

      · 屬性訪問策略 (PropertyAccessor 接口)

      · 代理對象的創(chuàng)建 (ProxyFactory接口)

      Hibernate為以上所列的機制分別創(chuàng)建了一個缺省的實現(xiàn),因此如果你只是要增強它的某個策略的功能的話,只需簡單地繼承這個類就可以了,沒有必要從頭開始寫代碼。

      以上就是Hibernate的一些核心接口,但當(dāng)我們真正開始用它進行開發(fā)時,你的腦海里可能總會有一個疑問:我是通過什么方式,并從哪里取得Session的呢?以下我們就解答這個問題。

      基礎(chǔ)配置

      現(xiàn)在回顧一下我們先前的內(nèi)容:我們寫出了一個示例程序,并簡要地講解了Hibernate的一些核心類。但要真正使你的項目運行起來,還有一件事必須要做:配置。Hibernate可以配置成可在任何Java環(huán)境中運行,一般說來,它通常被用在2-3層的C/S模式的項目中,并被部署在服務(wù)端。在這種項目中,Web瀏覽器、或Java GUI程序充當(dāng)者客戶端。盡管我們的焦點主要是集中在多層web應(yīng)用,但實際上在一些基于命令行的應(yīng)用中也可以使用Hibernate。并且,對Hibernate的配置在不同的環(huán)境下都會不同,Hibernate運行在兩種環(huán)境下:可管理環(huán)境和不可管理環(huán)境

      · 可管理環(huán)境――這種環(huán)境可管理如下資源:池資源管理,諸如數(shù)據(jù)庫連接池和,還有事務(wù)管理、安全定義。一些典型的J2EE服務(wù)器(JBoss、Weblogic、WebSphere)已經(jīng)實現(xiàn)了這些。

      · 不可管理環(huán)境――只是提供了一些基本的功能,諸如像Jetty或Tomcat這樣的servlet容器環(huán)境。一個普通的Java桌面應(yīng)用或命令行程序也可以認為是處于這種環(huán)境下。這種環(huán)境不能提供自動事務(wù)處理、資源管理或安全管理,這些都必須由應(yīng)用程序自己來定義。

      Hibernate的設(shè)計者們將這兩種環(huán)境設(shè)計了一個統(tǒng)一的抽象界面,因此對于開發(fā)者來說只有一種環(huán)境:可管理環(huán)境。如果實際項目是建立在諸如Tomcat這類不可管理的環(huán)境中時,那Hibernate將會使用它自己的事務(wù)處理代碼和JDBC連接池,使其變?yōu)橐粋€可管理環(huán)境。
    對于可管理的環(huán)境而言,Hibernate會將自己集成在這種環(huán)境中。對于開發(fā)者而言,你所要做的工作非常簡單:只需從一個Configuration類中創(chuàng)建一個SessionFactory類就可以了。

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

    主站蜘蛛池模板: 免费v片在线观看无遮挡| 97精品免费视频| 亚洲AV综合色区无码一二三区| 国产精品亚洲精品观看不卡| 亚洲人成伊人成综合网久久| 亚洲精品无码久久| 久青草视频97国内免费影视| 91人人区免费区人人| 久久精品国产亚洲av麻豆小说| 日本亚洲欧美色视频在线播放| 日本道免费精品一区二区| 真人做人试看60分钟免费视频| 亚洲狠狠爱综合影院婷婷| 久久亚洲国产精品| 亚洲欧美日韩中文无线码| 日韩在线免费播放| 亚洲AV电影院在线观看| 99爱视频99爱在线观看免费| 亚洲精品国产高清不卡在线| 久久久久国色AV免费观看| 久久九九亚洲精品| 亚洲AV日韩AV一区二区三曲| 亚洲XX00视频| 亚洲成a人无码亚洲成av无码| 最好免费观看韩国+日本| 亚洲午夜免费视频| 丝袜足液精子免费视频| 免费观看亚洲人成网站| 中中文字幕亚洲无线码| 国产精品免费一级在线观看| 91丁香亚洲综合社区| 免费看国产曰批40分钟| 亚洲免费观看视频| 亚洲熟妇无码乱子AV电影| 亚洲AV一区二区三区四区| 亚洲国产精品碰碰| 国产免费一区二区三区| 免费夜色污私人影院网站电影| 成人毛片18女人毛片免费96| 久久夜色精品国产噜噜噜亚洲AV | 一区二区三区免费视频观看|