Java 是否有类似于 .Net Framework 的迁移工具和 Entity Framework

Does Java have a migrations tool simlar to .Net Framework and Entity Framework

我最近从使用 .Net Framework 和 Entity Framework 的项目切换到使用 Spring Boot 2 和 Hibernate 的 Java。 在处理 .Net Framework 项目时,每当我需要更新数据库模式时,例如,更改 table 中列的类型,过程只是更改数据访问层中的模型,然后 运行 用于创建迁移文件的迁移命令。然后另一个命令来应用它。

根据我的研究,在处理数据库迁移时,Flyway 和 Liquibase 都是不错的选择。我查看了 Flyway 并注意到这个过程非常相似,除了我必须自己在 sql 中或使用 java 代码创建迁移并将其放在特定目录中。

Java,特别是 spring 启动应用程序是否有类似于 .Net Framework 和 Entity Framework 提供的数据库迁移工具?

据我所知 - 没有。我一直在做的所有项目都使用 Flyway 作为迁移工具,它很好地满足了我们的需求,我们的大部分迁移都是在 SQL.

中编写的

Hibernate 本身提供了基于 Java 代码迁移 DB 模式的有限可能性,这在用于开发目的时很好,但我还没有听说有团队在生产中使用它。

如果您使用 Spring Boot 作为您的框架,它可以很好地与 Hibernate、Flyway 和 Liquibase 集成:https://docs.spring.io/spring-boot/docs/2.3.2.RELEASE/reference/html/howto.html#howto-database-initialization