eclipse中從數(shù)據(jù)庫(kù)生成hibernate實(shí)體類
為什么寫(xiě)這篇BLOG,是因?yàn)榻?jīng)常有同事或網(wǎng)友問(wèn)起我hiberante實(shí)體類的生成問(wèn)題。所以下次再有人問(wèn)我可以省一堆的話了,其實(shí)這個(gè)真的是很簡(jiǎn)單。
現(xiàn)在hibernate在項(xiàng)目中的應(yīng)用是越來(lái)過(guò)廣泛了。我是從hibernate開(kāi)始支持注釋語(yǔ)法后才開(kāi)始研究它的。說(shuō)實(shí)在的,原來(lái)的hibernate生成的一堆堆的XML文件看著就頭暈,還不如自己寫(xiě)的SQL語(yǔ)句來(lái)的舒服,所以一直聽(tīng)朋友和同事介紹,可自己一直不屑用之。
可是現(xiàn)在有福了hibernate是JPA最常用的實(shí)現(xiàn)之一,而且hiberante自身也對(duì)注釋語(yǔ)法進(jìn)行了支持。現(xiàn)在再不用去看那一堆堆的XML映射了。而且eclipse還提供了從數(shù)據(jù)庫(kù)直接生成Entity Class的工具。既然可以少寫(xiě)或不寫(xiě)SQL語(yǔ)句那合樂(lè)而為為呢。廢話少說(shuō),開(kāi)始做起來(lái)。
然后會(huì)出現(xiàn)新建項(xiàng)目的對(duì)話框如圖所示
然后點(diǎn)擊Modify按鈕后如圖
將java persistence選中,這樣就為項(xiàng)目增加了JPA的特性,其它特性根據(jù)項(xiàng)目需要自行修改。點(diǎn)擊OK后。點(diǎn)擊幾次NEXT(忽略的幾步根據(jù)自身情況而定)到JPA FACET窗口,如下圖:
因?yàn)樵蹅冇玫氖莌ibernate列表中沒(méi)有所以platform選擇Generic,Type選擇disable library configuration,因?yàn)樵蹅儼研枰膉ar文件直接放到WEB-INF下的lib目錄中就可以了。所以不用配置。再下面的connection這個(gè)是必須要配置的要不我們?cè)趺磸臄?shù)據(jù)庫(kù)中生成啊。對(duì)不。
如果以前配置過(guò)連接直接選擇就可以了,如果沒(méi)有配置過(guò)點(diǎn)擊 add connection.如下圖:
選擇要使用的數(shù)據(jù)庫(kù)類型,然后下一步,如下圖。其實(shí)這個(gè)類型也沒(méi)啥作用只是個(gè)生成連接字符串的模版而以。
選擇已有的驅(qū)動(dòng),如果沒(méi)有怎么辦,廢話,當(dāng)然是繼續(xù)新增了。這塊不詳述了,點(diǎn)擊driver后面第一個(gè)按鈕,根據(jù)提示選擇對(duì)應(yīng)的jar文件即可。
做完上述操作點(diǎn)擊Finish.回到JPA Facet窗口。選中Discover annotated classes automatically,把Create orm.xml釣掉。然后點(diǎn)Finish項(xiàng)目就建完了。
然后在項(xiàng)目文件夾上右鍵選擇JPA tools->Generate Entities from Tables.后如下圖:
選擇建好的connection如果沒(méi)有connect 就connect一下。就會(huì)如上圖所示了(有時(shí)eclipse會(huì)有些小問(wèn)題看不見(jiàn)表,可以重啟一下試試,實(shí)在不行就直接建個(gè)JPA project ,生成實(shí)體后再拷到自己的項(xiàng)目中就可以了。)選中要生成實(shí)體的表,Next如下圖:
上面是表之間的關(guān)系,如果可以做相應(yīng)的修改(用的是ecipse 3.5貌似eclipse3.4還沒(méi)這個(gè)功能,eclipse越來(lái)越強(qiáng)了),再Next后如下圖:
(這個(gè)好像也是eclipse 3.5才加的)都能看明白吧。按照需要改改就可以了,這里不多啰嗦。再Next
后,如下圖:
這是一些表的每個(gè)屬性的調(diào)整,一般也不用調(diào)了。Finish就好了。
嘿嘿終于完成了。貼了這么多圖,累死我了。不過(guò)為了大家能弄明白,還是圖比文字更能說(shuō)明情況,我辛苦點(diǎn)就辛苦點(diǎn)吧。。
看看源碼中生成的java文件是不是你想要的,具體這些類怎么用。就不是這篇文章要說(shuō)的問(wèn)題了。如果大家有需要,我下回接著寫(xiě)。
posted on 2009-07-27 14:16 輕松 閱讀(17451) 評(píng)論(4) 編輯 收藏 所屬分類: Hibernate