数据库修改后Hibernate的配置更新
?
/******************************************************************************
Author: QinZhiGuo
?
Date:?? 2012-6-26
?
Topic: ?關(guān)于數(shù)據(jù)庫端表更新本地hibenate相關(guān)配置調(diào)整的解決方案
?
******************************************************************************/
Content:
后臺組在開發(fā)過程中可能會遇到這樣的如下問題:
1.??????根據(jù)手機(jī)端需求變化,需要修改后臺的數(shù)據(jù)庫設(shè)計(jì)
2.??????數(shù)據(jù)庫設(shè)計(jì)存在一定的問題,某些數(shù)據(jù)庫表需要?jiǎng)h除若干列
3.??????新建了數(shù)據(jù)庫表
4.??????在原有表中新添加了列
?
這一系列問題我們可能會經(jīng)常性的遇到,之前為了解決后臺編碼和開發(fā)的問題,我們選擇重新反向生成所有的表,來達(dá)到重建的目的。但是這樣一來存在很大的問題,就是我們需要重復(fù)性的去完成很多工作。之前一直苦于這樣的無用功。
現(xiàn)在我們可以嘗試一下另外的解決方案:
Q1:新建了表怎么辦呢?
?
A1:新建表后,我們解決起來比較簡單,直接添加相關(guān)配置,但是可能需要修改幾個(gè)文件,首先切換到”MyEclipse Database Explorer Perspective”視圖模式,具體的切換方法可以在:
Window->ShowView->DB Browser
然后選擇對應(yīng)的數(shù)據(jù)連接,然后在ECAMPUS->TABLE下可以看到我們用戶可以訪問的數(shù)據(jù)庫表,選擇要添加的表,然后右鍵->反向生成。然后一步步添加entity和DAO即可。
?
?
反向生成完畢后我們需要回到MyEclipse的編輯模式,然后需要配置hibernate.cfg.xml文件,然后再mapping里面添加我們剛剛加入的表映射配置文件,比如我們剛剛反向添加了WApp整個(gè)表,在com.edance.ecampus.web.entity里面會有一個(gè)com.edance.ecampus.web.entity.Wapp.hbm.xml,我們需要將這個(gè)配置問價(jià)加入即可。
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
?
解決方法二:
數(shù)據(jù)庫中原有表中添加新列后我們并不需要刻意的重新生成,在研究了hibernate的配置相關(guān)性后,我們需要改動幾個(gè)地方來解決這個(gè)問題:
首先我們需要在對應(yīng)的com.edance.ecampus.web.entity.XXX.hbm.xml中添加對應(yīng)的一個(gè)<property>XXXX</property>項(xiàng),這樣配置文件才能訪問到對應(yīng)的列。
然后在com.edance.ecampus.web.entity.XXX.java中添加對應(yīng)的set和get方法。然后保存。
?
然后需要在XXXDAO.java中添加和修改對應(yīng)的方法。一般配置完成后myeclipse會自動更新。
?
?
Q3:表中刪除了原有若干的列怎么辦?
A3: 修改方法同Q2,改動的地方相同,只是變成了刪除。
?
?
-----------------------------------------à我是華麗的分割線<------------------------------------------------
?
如果在上述情況修改完還是不好使的話,可以嘗試重新生成,最笨的辦法了。祝大家好運(yùn)!
總結(jié)
以上是生活随笔為你收集整理的数据库修改后Hibernate的配置更新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Web中如何运用JavaScript实
- 下一篇: SQL语句的添加、删除、修改多种方法