描述設(shè)置Hibernate持久層
Hibernate還是比較常用的,于是我研究了一下設(shè)置Hibernate持久層,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。
在典型web應(yīng)用的另一端是持久層。這通常是使事情迅速失控的地方。開(kāi)發(fā)者低估了構(gòu)建他們自己的持久層框架的挑戰(zhàn)性。一般來(lái)說(shuō),機(jī)構(gòu)內(nèi)部自己寫(xiě)的持久層不僅需要大量的開(kāi)發(fā)時(shí)間,而且還經(jīng)常缺少功能和變得難以控制。
設(shè)置Hibernate持久層
設(shè)置Hibernate持久層涉及到幾個(gè)步驟。首先是進(jìn)行配置持久化我們的領(lǐng)域業(yè)務(wù)對(duì)象(domain business objects )。因?yàn)槲覀冇糜陬I(lǐng)域?qū)ο螅╠omain objects )持久化的Hibernate和POJOs一起工作( 此句原文:Since Hibernate works with POJOs we will use our domain objects for persistence.),因此,訂單和訂單項(xiàng)對(duì)象包括的所有的字段的都需要提供getter和setter方法。訂單對(duì)象將包括像ID、用戶名、合計(jì)、和訂單項(xiàng)這樣一些字段的標(biāo)準(zhǔn)的JavaBean格式的setter和getter方法。訂單項(xiàng)對(duì)象將同樣的用JavaBean的格式為它的字段設(shè)置 setter和getter方法。
Hibernate在XML文件里映射領(lǐng)域?qū)ο蟮疥P(guān)系數(shù)據(jù)庫(kù)。訂單和訂單項(xiàng)對(duì)象將有兩個(gè)映射文件來(lái)表達(dá)這種映射。有像XDoclet(http://xdoclet.sourceforge.net/)這樣的工具來(lái)幫助這種映射。Hibernate將映射領(lǐng)域?qū)ο蟮竭@些文件:
◆Order.hbm.xml
◆OrderLineItem.hbm.xml
你可以在WebContent/WEB-INF/classes/com/meagle/bo目錄里找到這些生成的文件。配置Hibernate SessionFactory(http://www.hibernate.org/hib_docs/api/net/sf/hibernate/SessionFactory.html)使它知道是在和哪個(gè)數(shù)據(jù)庫(kù)通信,使用哪個(gè)數(shù)據(jù)源或連接池,加載哪些持久對(duì)象。SessionFactory提供的Session(http://www.hibernate.org/hib_docs/api/net/sf/hibernate/Session.html)對(duì)象是Java對(duì)象和像選取、保存、更新、刪除對(duì)象這樣一些持久化功能間的翻譯接口。
【編輯推薦】