我设法发出Liquibase 更新,如Liquibase Servlet Listener中所述。
<listener>
<listener-class>liquibase.servlet.LiquibaseServletListener</listener-class>
</listener>
这有效地执行了我的变更日志。
但是,这发生在设置 EntityManager 之后。显然,如果我希望我的 Persistence 提供程序验证数据库模式,则为时已晚:
<property name="hibernate.hbm2ddl.auto" value="validate"/>
...这些表根本不存在。
有没有办法让 Liquibase 在初始化 EntityManager之前更新数据库模式?
PS:AppServer是JBoss6
==========================[更新]====================== =====
根据下面与 Nathan 的简短讨论,我可能不得不将问题重新表述如下:
在 EntityManager 初始化之前,有人知道 JBoss 启动序列中的代码挂钩吗?
如果存在,我可以将 Liquibase 更新逻辑移动到那个地方吗?