為什麼寫這篇BLOG,是因為經常有同事或網友問起我hiberante實體類的生成問題。所以下次再有人問我可以省一堆的話了,其實這個真的是很簡單。
現在hibernate在項目中的應用是越來過廣泛了。我是從hibernate開始支持注釋語法後才開始研究它的。說實在的,原來的hibernate 生成的一堆堆的XML文件看著就頭暈,還不如自己寫的SQL語句來的舒服,所以一直聽朋友和同事介紹,可自己一直不屑用之。
可是現在有福了hibernate是JPA最常用的實現之一,而且hiberante自身也對注釋語法進行了支持。現在再不用去看那一堆堆的XML映射了。而且eclipse還提供了從數據庫直接生成Entity Class的工具。既然可以少寫或不寫SQL語句那合樂而為為呢。廢話少說,開始做起來。
還是從我們開始項目的第一步說起,新建項目。一般我們用java做web項目都是File->New->Dynamic Web Project,如下圖:
然後會出現新建項目的對話框如圖所示
然後點擊Modify按鈕後如圖
將java persistence選中,這樣就為項目增加了JPA的特性,其它特性根據項目需要自行修改。點擊OK後。點擊幾次NEXT(忽略的幾步根據自身情況而定)到JPA FACET窗口,如下圖:
因為咱們用的是hibernate列表中沒有所以platform選擇Generic,Type選擇disable library configuration,因為咱們把需要的jar文件直接放到WEB-INF下的lib目錄中就可以了。所以不用配置。再下面的connection 這個是必須要配置的要不我們怎麼從數據庫中生成啊。對不。
如果以前配置過連接直接選擇就可以了,如果沒有配置過點擊 add connection.如下圖:
選擇要使用的數據庫類型,然後下一步,如下圖。其實這個類型也沒啥作用只是個生成連接字符串的模版而以。
選擇已有的驅動,如果沒有怎麼辦,廢話,當然是繼續新增了。這塊不詳述了,點擊driver後面第一個按鈕,根據提示選擇對應的jar文件即可。
做完上述操作點擊Finish.回到JPA Facet窗口。選中Discover annotated classes automatically,把Create orm.xml釣掉。然後點Finish項目就建完了。
然後在項目文件夾上右鍵選擇JPA tools->Generate Entities from Tables.後如下圖:
選擇建好的connection如果沒有connect 就connect一下。就會如上圖所示了(有時eclipse會有些小問題看不見表,可以重啟一下試試,實在不行就直接建個JPA project ,生成實體後再拷到自己的項目中就可以了。)選中要生成實體的表,Next如下圖:
上面是表之間的關系,如果可以做相應的修改(用的是ecipse 3.5貌似eclipse3.4還沒這個功能,eclipse越來越強了),再Next後如下圖:
(這個好像也是eclipse 3.5才加的)都能看明白吧。按照需要改改就可以了,這裡不多啰嗦。再Next後,如下圖:
這是一些表的每個屬性的調整,一般也不用調了。Finish就好了。
嘿嘿終於完成了。貼了這麼多圖,累死我了。不過為了大家能弄明白,還是圖比文字更能說明情況,我辛苦點就辛苦點吧。。
看看源碼中生成的java文件是不是你想要的,具體這些類怎麼用。就不是這篇文章要說的問題了。如果大家有需要,我下回接著寫。