數據庫修改後Hibernate的配置更新

/******************************************************************************

Author: QinZhiGuo

 

Date:   2012-6-26

 

Topic:  關於數據庫端表更新本地hibenate相關配置調整的解決方案

 

******************************************************************************/

Content:

後臺組在開發過程中可能會遇到這樣的如下問題:

1.      根據手機端需求變化,需要修改後臺的數據庫設計

2.      數據庫設計存在一定的問題,某些數據庫表需要刪除若干列

3.      新建了數據庫表

4.      在原有表中新添加了列

 

這一系列問題我們可能會經常性的遇到,之前爲了解決後臺編碼和開發的問題,我們選擇重新反向生成所有的表,來達到重建的目的。但是這樣一來存在很大的問題,就是我們需要重複性的去完成很多工作。之前一直苦於這樣的無用功。

現在我們可以嘗試一下另外的解決方案:

Q1:新建了表怎麼辦呢?

 

A1:新建表後,我們解決起來比較簡單,直接添加相關配置,但是可能需要修改幾個文件,首先切換到”MyEclipse Database Explorer Perspective”視圖模式,具體的切換方法可以在:

Window->ShowView->DB Browser

然後選擇對應的數據連接,然後在ECAMPUS->TABLE下可以看到我們用戶可以訪問的數據庫表,選擇要添加的表,然後右鍵->反向生成。然後一步步添加entity和DAO即可。

 

 

反向生成完畢後我們需要回到MyEclipse的編輯模式,然後需要配置hibernate.cfg.xml文件,然後再mapping裏面添加我們剛剛加入的表映射配置文件,比如我們剛剛反向添加了WApp整個表,在com.edance.ecampus.web.entity裏面會有一個com.edance.ecampus.web.entity.Wapp.hbm.xml,我們需要將這個配置問價加入即可。

Q2:表中添加了新的列怎麼辦?

A2:

解決方法一(推薦)

把原有表的配置文件包括如下

com.edance.ecampus.web.entity.XXX.hbm.xml,

com.edance.ecampus.web.entity.XXX.java

com.edance.ecampus.web.dao.XXXDAO.java

依次刪除。

然後重新反向添加,添加方法如A1

 

解決方法二:

數據庫中原有表中添加新列後我們並不需要刻意的重新生成,在研究了hibernate的配置相關性後,我們需要改動幾個地方來解決這個問題:

首先我們需要在對應的com.edance.ecampus.web.entity.XXX.hbm.xml中添加對應的一個<property>XXXX</property>項,這樣配置文件才能訪問到對應的列。

然後在com.edance.ecampus.web.entity.XXX.java中添加對應的set和get方法。然後保存。

 

然後需要在XXXDAO.java中添加和修改對應的方法。一般配置完成後myeclipse會自動更新。

 

 

Q3:表中刪除了原有若干的列怎麼辦?

A3: 修改方法同Q2,改動的地方相同,只是變成了刪除。

 

 

-----------------------------------------à我是華麗的分割線<------------------------------------------------

 

如果在上述情況修改完還是不好使的話,可以嘗試重新生成,最笨的辦法了。祝大家好運!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章