java(spring)自动创建数据库差异

java(spring)自动创建数据库差异,java,sql,hibernate,migration,liquibase,Java,Sql,Hibernate,Migration,Liquibase,我正在寻找与PHP的ORM相同的Java功能 我可以描述一个实体,并且条令:migrations:diff控制台命令将使我进行良好的迁移,这将生成用于更新数据库模式的SQL。然后,我可以使用运行的新字段/表等更新当前数据库模式doctor:migrations:migrate 但是在Java中做这件事的相同方法是什么呢?我曾尝试使用Flyway进行此操作,但没有成功,因为它无法获取实体并生成差异: 所以,我只是试着用liquibase来做,但不知道怎么做 我曾试图在irc.freenode.ne

我正在寻找与PHP的ORM相同的Java功能

我可以描述一个实体,并且
条令:migrations:diff
控制台命令将使我进行良好的迁移,这将生成用于更新数据库模式的SQL。然后,我可以使用运行的新字段/表等更新当前数据库模式
doctor:migrations:migrate

但是在Java中做这件事的相同方法是什么呢?我曾尝试使用Flyway进行此操作,但没有成功,因为它无法获取实体并生成差异:

所以,我只是试着用liquibase来做,但不知道怎么做

我曾试图在irc.freenode.net上的java room中提出这个问题,但最接近的答案是“让hibernate创建模式并让liquibase提取它”(谢谢,k5)

但是…怎么做

许多消息来源说我必须使用某种程度的“hibernate.hbm2ddl.auto”……但是如何使用呢?这是什么

我感到惊讶的是,在互联网上没有“傻瓜”的例子来展示这一重要功能

我认为手工编写所有迁移是一种糟糕的方式,我只是不相信没有解决方案

请帮帮我

提前谢谢你

UPD

在我使用Hibernate的特殊情况下,我定义了基本的实体(使用一对一、多对一映射) 我想从干净的数据库开始,用迁移更新它的模式

因此,我的目标是根据与当前数据库模式状态相比的实体描述自动生成此迁移

UPD 2


第二个最接近的答案是(再次感谢,k5_):“将hibernate配置为在它不存在时创建架构(只需添加发布到persistence.xml的配置选项)。启动服务器,它将在数据库中创建架构。使用液化基提取架构。或者使用它在两个数据库上创建差异。”

你的问题有点宽泛。有很多方法可以做到这一点,哪一种对你来说是最好的取决于很多事情。你已经在使用hibernate了吗?您是否已经定义了实体(使用JPA/Hibernate)?你已经有一个现有的数据库了吗?或者你能从零开始吗?我建议把你的问题分成几个小部分。@Jens,谢谢你,我会更新我的问题