2017-01-11 70 views
0

例如:如果我有用於處理數據庫表的Java DAO,如果我將Dao和它們的管理器作爲jar文件發佈,如果具有對該jar的依賴的應用程序訪問只有這個jar的最新版本,那麼當數據庫模式發生變化時,最新的jar如何處理向後兼容性。Java DAO如何支持舊的數據庫模式版本

Eample: 當Dao_1.jar發佈...數據庫架構是在版本V1.0 當Dao_2.jar被釋放.....數據庫架構版本是V1.1

如何使用Dao_2.jar的應用程序可以處理數據庫模式版本V1.0還是與其交互?

回答

0

技術上它不能處理它!例如,您只需在您的Dao_2實體中添加一個新字段。但是在數據庫模式版本V1.0中,您沒有該字段。所以在運行應用程序之後,所有的事情都會變得混亂。你可以讓你的休眠(JPA)配置更新你的數據庫模式。在運行應用程序之後的這種情況下,V1.0中的數據庫模式將更改爲基於Dao_2的當前版本。但它有點危險。正確的做法是你總是從你的道到數據庫模式。不要單獨編輯您的應用程序域的架構。您在應用程序數據域中進行了新的更改。然後ORM將處理所有事情,並且也會更新您的數據庫模式。