2011-11-30 146 views
3

開發一個全新的架構/應用程序,它使用hibernate從pojo創建表。使用Hibernate遷移數據

我希望現在將舊數據庫中的現有數據遷移到新模式,這是創建適當的sql並填充新的pojo的問題。其次,它的目的是讓其他人使用這個應用程序,從不同的數據庫模式遷移。因此,我最初的想法是將相關的sql放到xml文件中,以便在不更改java的情況下輕鬆更改它們。

例如我現在的系統將select loginname from logintable改成pojo:User.setUsername()然後做一個hibernate保存。然後我可以簡單地在以後更改SQL,確保它返回正確的數據。

這聽起來合理嗎?他們現有的功能在休眠進行遷移/批量插入?或者我會簡單地調用這個ñ時間:

User user = new User(); 
session.save(user); 
+0

您可以使用http://www.cubrid.org/ddlutils_for_cubrid和http://www.cubrid.org/about_scriptella – Kiavash

回答

2

此列舉幾個想法。

schema/app which uses hibernate to create tables from pojo's.

它不是使用Hibernate生成表一個很好的做法。應該爲此創建單獨的腳本。基本上hbm2ddl.auto=create在hibernate中的設置是創建表的臨時方法,但是你不應該在標準應用程序中使用它。在配置設置中輸入此條目甚至是不安全的。有關更多信息,請參閱here

Schema migration/ data migration

有許多可用的數據庫,這將有助於您遷移BOT模式和數據,並沒有真正意味着該冬眠的。我不知道這些,但我看到我的數據庫管理員輕鬆地做到這一點。你可以使用一些技巧來實現它,但最好不要這樣做。