浙江双色球走势图2:用hbm2java生成Hibernate類

來源:互聯網
更新時間:2018/2/8 23:09:52
責任編輯:魯能
字體:

福建体彩走势图 www.uyduz.icu

  對于管理hiberante 映射文件,現有多種策略, 如:

· 一切手工編寫

· 把xdoclet標記放在你的java 類中, 讓其生成相應的映射文件。

· 從sql 模式(schema)生成hibernate 映射文件和java類。

· 手工編寫hibernate 映射文件, 并且從hibernate 映射生成java類和sql模式。

· 基于給定的sql 模式,手工編寫hibernate 映射文件,并利用hbm2java工具生成java類。

在本文中, 我們會著眼于上述方法中的最后那種方法。盡管這樣的選擇通常只是約略的嘗試, 但此方法的確在多數情況下有許多優勢:

· hibernate 映射集中在映射文件中,而不是把這些信息散布在java源代碼中,這使維護變得更加容易。在某些情況下,xdoclet annotation 不支持所有在hibernate映射模式中可用的功能,你還可通過映射獲得更好的控制。

· 數據庫模式可分開來維護,而不是從java 類或hibernate映射文件生成。這允許那些對java/hibernate不甚了 解的數據庫 管理員(dba)對數據庫細節(索引,表空間,表類型等)本身有更好的控制。

由映射文件生成java類

這種方式下,hibernate映射文件主導著一切。所有的映射信息都集中在這些文件中, 就意味著不會在源代碼中使用annotations。所有的持久化類都由hbm2java工具生成。之后,那些類就不能被修改。

此過程如圖1所示。首先,你持有一組hibernate映射文件。你或許也需要一個hbm2java配置文件,通常稱之為hbm2java.xml。利用這兩個引子,hbm2java工具為每個hibernate映射文件生成一個或多個java類。hbm2java配置文件對類生成過程的優化是有用的。

        圖1.用hbm2java工具將hibernate映射生成java類

一個簡單類生成的例子

讓我們從一個非常簡單的例子開始。假設我們想映射一個book的簡單數據庫表,表結構定義如下:

column   | type          | modifiers

-----------+-----------------------+-----------

book_id   | character(32)     | not null

book_title | character varying(80) | not null

book_isbn  | character varying(20) | not null

為了生成這個類, 我們可以使用以下的hiberante映射文件。注意怎樣利用元屬性(meta-attriute)來添加注釋或優化類的生成。

<?xml version='1.0'?>

<hibernate-mapping>

<class name='book' table='book'>

<meta attribute='class-description'>

a book business object.

@author duke

</meta>

<id name='id' type='string' unsaved-value='null' >

<column name='book_id' sql-type='char(32)' not-null='true'/>

<generator class='uuid.hex'/>

</id>

<property column='book_name' name='name'/>

<property column='book_isbn' name='isbn'>

<meta attribute='field-description'/>

the unique isbn code for this book.

</meta>

</property>

</class>

</hibernate-mapping>

使用此映射文件,hbm2java會生成看起來象這樣的類:

/**

* a book business object.

* @author duke

*/

public class book {

private string id;

private string name;

private string isbn;

public book() {

}

public string getid() {

return id;

}

private void setid(string id) {

this.id = id;

}

public string getname() {

return name;

}

public void setname(string name) {

this.name = name;

}

/**

* the unique isbn code for this book.

*/

public string getisbn() {

return isbn;

}

public void setisbn(string isbn) {

this.isbn = isbn;

}

}

為實際項目生成類

實際上,hbm2java被設計成用來把hibernate映射文件轉化成一組相應的java類。如果你想在實際的應用程序中使用這種方法,很顯然,對于所有的hibernate映射文件一次性生成類會更為方便。最好的方法是把類生成結合進你的自動化構建過程中。結合進ant構建過程中使用ant調用hbm2java是相當直接的。首先,你需要申明hbm2java任務(task)以便ant可以調用它:

<taskdef name='hbm2java'

classname='net.sf.hibernate.tool.hbm2java.hbm2javatask'

classpathref='project.class.path'/>

接著,你要用到這個任務。例如,通過寫一個目標(target)將源目錄中的所有*.hbm.xml文件生成源代碼。假設${src.hibernate}表示含有hibernate映射文件的目錄,${src.generated}就是你想放源代碼的地方。這樣ant任務看起來就象是: 資訊轉帖于 Xue163.com_JAVA認證考試題庫

根據您訪問的內容,您可能還對以下內容感興趣,希望對您有幫助:

java hibernate hbm2ddl默認是什么,是必要配置嗎

答: 該配置是說是否根據實體對象在數據庫中創建表結構

java,ssh項目,怎么使用hbm2dll ?

答:Configuration cfg = new Configuration().configure(); SchemaExport schemaExport= new SchemaExport(cfg); schemaExport.create(false, true); 但是在實際開發中 一般都是先建表 后生成映射文件的

如何查看hibernate的hbm2ddl.auto的源碼?

答:點開jar包,解壓縮,找到響應的類,就看到了,不過應該你也看不懂,因為在底層是c語言并不是java。而且c語言你也看不見。所以說java不是開源的。

hbm2ddl生成建數據庫文件,但沒內容

答:這個問題確實難倒我了 那是你的DLl文件錯誤

跪求大神幫忙! org.hibernate.util.JDBCException...

答:Accès refusé pour l'utilisateur: 'root'@'@localhost' 這是什么語?法語? 應該是賬號和密碼寫錯了吧?

用MyEclipse7.0配置Hibernate3.2時,User.hbm.xml...

答:User.java 文件放在com.hibernate包下 在你生成的時候最上面有一個java src folder 按browse選擇你的項目和包即可 機制都沒搞定,就要自動生成,你娃有前途

用MyEclipse7.0配置Hibernate3.2時,User.hbm.xml...

答:user.hbm.xml這個放在哪里都沒關系,可以生成之后再移動,但是User.java就必須事先定義好位置了,不然你User.hbm.xml里的路徑就要全部重新在改,定義的方法就是在選中表之后確定與表對以的類名的時候把包名也加上。最初的那個選擇路徑好像沒什么...

hibernate運行時出錯!請各位幫幫忙??!

答:空指針異常,查看是否有的值填寫的不對?;蛘呤莣eb.xml配置

hibernate程序錯誤:求大神解決,謝謝了

答:hibernate連接數據庫的驅動的問題,你看看數據庫名,用戶名,密碼,是正確的么?

hibernate新增字段問題

答:手動去數據庫中把該字段加上 alter table CKYW_YK add column TAX_RATE varchar2(50);

怎么通過MyEclipse生成Hibernate類和hbm.xml?

7、使項目支持Hibernate:在項目名稱上有件-----MyEclipse-----Add Hibernate capabili... 否則不能生成一對多,多對多等映射 14、點擊finish完成,到java試圖中觀察生成的文件...

如何基于Hibernate在Java類中實現,根據數據庫表生成持久化類...

</target> 上面的代碼是生成hbm跟cfg文件的,下面再介紹如何從java類到數據庫... <sleep seconds="1"/> <hibernatetool destdir="etc/hbm2doc...

如何基于Hibernate在Java類中實現,根據數據庫表生成持久化類...

Hibernate前兩天剛學的,具體操作的確很麻煩,我也相幫你,可是說不清楚啊

用什么工具能使hibernate中的.java文件自動生成對應的.hbm.xm...

Hibernate中有這類工具,但前提是在java類中寫大量的表示其關系的代碼,個人感覺很難... 用myeclipse打開數據庫,在數據庫上直接右鍵選反向工程,就可以生產相應的 *.hbm.xml ...

如何用hibernate的hbm.xml文件生成java的pojo

你需要配置status和spring,才可以反射出數據庫表的實體類和xml文件 具體操作百度有 望采納

hibernate反向工程生成一個X.hbm.xml和xId.java X.java

用X.java。之所以會這樣生成pojo,是應為你的數據庫中表沒有主鍵吧?不信你去看看,hibernate是強烈建議表要有主鍵的,你的表沒有主鍵,它就生成了一個類XId來作為X類里的相...

Java代碼生成Hibernate中實體下的*.hbm.xml和*.java的代碼發一...

我寫過份 過只能生成基本屬性 關系只能生成對多 還要

有沒有Java代碼生成Hibernate中實體vo下的*.hbm.xml和*.java的

這個很簡單~~ 自動生成就可以了~ 我寫過一套Java代碼~~~ 還有詳解~~ QQ 傳給你~~ 加我吧~

怎么在eclipse中對數據庫表生成hibernate映射文件(.java)、映射...

裝myeclipse吧,數據庫視圖里面有,直接用myeclipse連接數據庫,找到表,右鍵,然后選hibernate reverse engineering就可以進自動生成映射的界面了。當然eclipse里你也可以找一...


www.xue163.net true //www.xue163.net/kao/58/589158.html report 18235 用hbm2java生成Hibernate類,對于管理hiberante映射文件,現有多種策略,如:·一切手工編寫·把xdoclet標記放在你的java類中,讓其生成相應的映射文件?!ご觭ql模式(schema)生成hibernate映射文件和java類?!な止け嘈磆ibernate映射文件,并...
網友評論
最新添加資訊
    24小時熱門資訊
    娛樂時尚
      科技資訊
      歷史文化
        真視界
        旅游美食
        精彩圖文
        我愛我車
        母嬰健康
        關于本站 | 廣告服務 | 手機版 | 商務合作 | 免責申明 | 招聘信息 | 聯系我們
        Copyright © 2004-2018 xue163.net All Rights Reserved. 學網 版權所有
        京ICP備10044368號-1 京公網安備11010802011102號
        教育考試: 學歷財經建筑 醫藥公考資格外語電腦作文招聘中小學留學 文檔 移民 文庫專欄23問答中心問答圖書館知識IT編程數碼信息解決方案信息中心IT科技topzttophottopsctopnew問答新聞中心軟件教室設計大全網絡相關英語學習開發編程考試中心參考范文管理文庫營銷中心站長之家IT信息中心商學院數碼大全硬件DIY企業服務網吧在線百科硬件知識手機平板汽車游戲家電精彩攝影現代家居IT女人經驗健康養生獵奇創業攻略教育學習歷史時尚潮流福建体彩走势图漲知識
        分分彩稳赚技巧 虎扑 山东时时开奖视频直播 澳门21庄家点规则 时时彩稳赚的倍投方案 彩票最准计划 时时彩网 大乐透开奖结果查询 复式三中三中奖公式表 足彩胜负14场 100元买彩票咋能稳赚不赔 棋牌游戏下载送十元 pk10赛车历史开奖记录 江苏快三玩法技巧规律 买时时彩 杀3停1输5赢6什么意思 秒速时时使用手机版