天天看點

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

1.點選Myecplise右上角

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

2.點選進入後,在這個區域右鍵 New 一個新的connection

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

3.以mySql連接配接為例子,在這裡展示一下,下面這幾項必須都要按照要求完全一緻,除了架包所在的本地位置之外

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

4.配置完成可以點選上圖的Test Driver,測試是否連接配接成功。連接配接成功的界面如下:

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

5.選擇本資料庫下的所有資料表或者你自己想要生成實體的資料表,點選反向生成

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

6.此刻,如果在選擇的項目中沒有我們想要操作的項目,說明我們的項目此時還不支援hibernate,還不是hibernate項目,那我們需要先回到正常的myEcplise界面下,将我們的項目轉成hibernate項目

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

我們需要指定Hibernate的映射檔案還有sessionFactory的包名,因為他們不能被建立在預設的包中,下面的提示很清楚

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

處理完成之後,我們的項目就支援hibernate了。這個時候我們就可以再進入到

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

這個界面下面接着進行我們的操作了。

7.我們 連接配接上我們的資料庫,然後,選擇所有的資料表,反向生成點選:

然後進入這個界面,我們選擇如下:【我們采用注解的形式,就不選擇映射檔案的方式了】

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

普通的ID生成就是下面這樣,不用修改什麼。

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

如果想要規定主鍵的生成政策,例如主鍵生成政策為uuid,則本頁面可以如下【如果之前實體已經生成,不用怕,這個可以覆寫生成】:

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

8.然後回到正常的界面,檢視項目結構,發現項目已經正常生成實體了

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

檢視實體中的内容發現:不僅實體,實體與實體之間的關系也都正常的生成【我們是5個資料表,但是這個例子中有兩個多對多生成的中間表,hibernate反向工程會自動的将這兩個中間表變作ManyToMany的關系存在于實體中!!】

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

View Code

錯誤1:

user表和testorder表生成一張中間表score

但是使用hibernate  反向生成tools後生成的實體如下:

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

多生成了一個ScoreId表

解決方法:

将本張表中的兩個主鍵設定為一個主鍵 即可解決這個問題:

【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤
【MyEcplise hibernate tools】hibernate tools的使用以及錯誤

這樣就解決了 會多生成一個ID類的問題