到目前为止,我已经将 liquibase 与 spring 和标准 changelog 文件一起使用。现在我想将它集成到休眠中,所以当我对实体进行任何更改时,它应该更改表并更新更改日志表。
我阅读了许多示例和教程,但无法正常工作。
我使用数据源, entityManagerFactory(denepds-on="liquibase") 一切正常。但是当我添加 liquibase bean 时,它不会从实体更改数据库。并抛出“没有名称的表”异常。
如何使用 liquibase-hibernate4 和 spring 配置 Liquibase?
我的液化豆:
<bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
<property name="dataSource" ref="myJdbcDataSource" />
<property name="beanName" value="entityManagerFactory" />
<property name="changeLog" value="classpath:databaseChangeLog.sql" />
</bean>
我刚刚将 beanName 属性添加为 entityManagerFactory,来自:https : //github.com/liquibase/liquibase-hibernate/wiki,http: //www.liquibase.org/documentation/spring.html。并做了我能从这篇文章中理解的事情。
在这篇文章中,它提到我们应该使用三种变体之一
hibernate:spring:com/example/spring.xml?bean=sessionFactory
hibernate:spring:com.example?dialect=org.hibernate.dialect.MySQL5Dialect
hibernate:spring:com.example.employee,com.example.auction?dialect=org.hibernate.dialect.MySQL5Dialect
但是当我们使用spring时我不知道如何将它与liquibase bean一起使用