7
我將Play項目從版本2.3.4遷移到2.4.2。這些項目使用JPA(Hibernate)和Evolutions。我有一個初始的Evolutions SQL腳本,它用一些示例數據填充數據庫。這個腳本現在不再工作了,因爲Evolution腳本現在在Hibernate生成表之前執行,這顯然會導致錯誤。這是一個理想的行爲?有什麼方法可以改變執行順序嗎?在Play Framework中播放Evolution和JPA 2.4
感謝您的詳細解答,但我不同意。 Play文件指出:「當您使用關係數據庫時,您需要一種方法來跟蹤和組織您的數據庫模式演變」。這並沒有說如何訪問該數據庫。在我看來,Evolution是Hibernate的完美補充,因爲Hibernate只具有有限的遷移可能性。重點是,它在Play中工作了很多年,所以我認爲這是一個錯誤。 – linsenfips
你寫了「Hibernate生成表」,這意味着Hibernate組織你的數據庫。您只需要使用一個數據庫更新機制 - 進化或hibernate表生成。如果你想使用進化然後關閉休眠表生成: http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-production。 –
警告:我們已經看到Hibernate用戶試圖使用SchemaUpdate自動更新生產數據庫的模式。這可能會很快結束,並且不會被您的DBA所允許。 –