在 Flyway 中编写 Java 迁移时,有没有办法使用 HibernateTemplate/JPATemplate?

Posted

技术标签:

【中文标题】在 Flyway 中编写 Java 迁移时,有没有办法使用 HibernateTemplate/JPATemplate?【英文标题】:Is there a way to use HibernateTemplate/JPATemplate while writing Java Migrations in Flyway? 【发布时间】:2012-02-01 06:27:36 【问题描述】:

我正在开发一个使用带有注释配置的 hibernate3 的项目,并且正在寻找与开发同步的数据库迁移任务的 flyway。我希望在 java 迁移中使用 HibernateTemplate,但是看起来只有 JdbcTemplate 支持在 flyway 中编写迁移。有没有办法在 Flyway Java 迁移中使用 HibernateTemplate 或 JPATemplate,而不是 JdbcTemplate?

【问题讨论】:

【参考方案1】:

在这种情况下使用 HibernateTemplate 或 JpaTemplate 没有意义。 Flyway 负责改变 Hibernate 所基于的基础(实际的 DB 结构)。然后,Hibernate 依赖于新的迁移后数据库结构。

Flyway 因此应该休眠会话工厂的实例化之前运行

【讨论】:

当底层数据库结构到位时,数据转换步骤才有意义。使用 JPA 模型编写转换可能更容易。第二个原因可能是在使用 envers 审计时,您想要操纵数据并保持 envers 审计信息完整。

以上是关于在 Flyway 中编写 Java 迁移时,有没有办法使用 HibernateTemplate/JPATemplate?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Envers 时如何处理 Flyway 迁移?

运行 flyway java 迁移

Flyway 数据库迁移在部署新战争时自动运行

Flyway Java 迁移在命令行工具中不起作用

Flyway 未接收 Java 迁移

flyway 后的 Flyway 迁移错误:基线