我設法發佈Liquibase Update,如Liquibase Servlet Listener中所述。Liquibase:如何在EntityManager構建之前執行Servlet監聽器
<listener>
<listener-class>liquibase.servlet.LiquibaseServletListener</listener-class>
</listener>
這有效地執行我的更新日誌。
但是,發生這種情況後 EntityManager的設置。
<property name="hibernate.hbm2ddl.auto" value="validate"/>
...表根本還不存在:很顯然,如果我希望我的持久性提供驗證數據庫架構,這是爲時已晚。
有沒有一種方法可以讓Liquibase更新數據庫架構,之前 EntityManager被初始化?
PS:AppServer的是JBoss6
========================= [UPDATE] ====== ===================
基於下面拿單簡短的討論,我可能要改寫的問題如下:
有沒有人知道在JBoss啓動序列之前的代碼鉤子 初始化EntityManager的?
如果存在,我可以將Liquibase更新邏輯移動到那個地方?
PersistenceUnit(和相關的EntityManager)在JBOSS引導過程的早期啓動。只有在此之後,網絡應用程序才初始化... 8- / – Jan 2010-08-02 16:41:38