大家都知道,hibernate可以反向產生實體類以及設定檔,但是正向的可能做的人並不是很多,什麼是正向,什麼是反向呢,正向指的是先有了實體類(entity),然後在根據你的實體類通過hibernate正向工程實現資料庫表的自動建立。所謂的反向,顧名思義就是先有了資料表,然後根據hibernate反向工程實現項目的實體類的自動產生以及對應檔(xx.hbm.xml),那麼接下來我給大家一一介紹一下。
相信大部分初學者都是通過反向實現的,反向也很簡單,所以在這裡我就不介紹具體反向的步驟了。
咱們現在來看看正向工程:
在建立實體類之前咱們先做個準備工作,什麼準備工作呢。————大家先把資料表空間和使用者建立好,並且授權進去,接下來看看建立使用者的代碼:
1.建立是實體類(entity),在這裡我建立的是兩個實體類,學生類(Student)和教室類(Teacher),我已經建立好了,源碼也放上來了,
學生實體類訪問地址:Student,
教師實體類訪問地址:Teacher
下面都是getter和setter方法,請大家自行建立。
2.建立hibernate.cfg.xml設定檔,這個檔案的話大家直接使用myeclipse直接產生就可以了,這裡不示範了,訪問設定檔地址: hibernate.cfg.xml
千萬要注意圖中的紅色框中的內容和後面的提示,本人在這一塊出現bug的時候解決了好久蔡解決掉。。。
3.接著建立學生類的對應檔(Student.hbm.xml)和教師類的對應檔(Teacher.hbm.xml) ,(這裡舉例說明的是多對多的案例,一對多和多對一同樣的,換湯不換藥,大家舉一反三即可)
學生類的對應檔訪問地址:Student.hbm.xml
教師類的對應檔訪問地址:Teacher.hbm.xml
4.OK ,現在吧準備工作都一完成,咱們在寫個測試類別執行一下吧。
測試類別訪問地址:TestStu.java
此測試方法就是在資料庫裡面建立表
然後在測試一下資料,看看在資料庫裡面添加的雙表之間的關係是否正確
測試回合成功,那麼請大家look一下資料庫表,是不是已經資料添加進去,並且對應的關係表也是清清楚楚呢。
學生表的資訊:
教室表的資訊:
關係表的資訊:
由於之前我測試過兩次,所以資料是兩次的資料,最後的4條記錄是本次測試的,也就是初始化的老師和學生都是9,10