Java 使用JPA(带注释的实体)和liquibase进行休眠

Java 使用JPA(带注释的实体)和liquibase进行休眠,java,hibernate,jpa,liquibase,Java,Hibernate,Jpa,Liquibase,如果使用xml映射,liquibase是hibernate的属性的完美替代品。但是我使用JPA注释(hibernate注释)。那么可以使用liquibase吗?是的,liquibase使用hibernate的元数据类,无论您使用xml映射还是注释,这些元数据类都是相同的。您确实需要一个hibernate配置文件来指向liquibase,但您的映射可以是xml或jpa注释。更多信息可以在上找到,但您可以使用“数据库URL”,如 如果您有hibernate xml配置文件或 hibernate:ej

如果使用xml映射,liquibase是hibernate的属性的完美替代品。但是我使用JPA注释(hibernate注释)。那么可以使用liquibase吗?

是的,liquibase使用hibernate的元数据类,无论您使用xml映射还是注释,这些元数据类都是相同的。您确实需要一个hibernate配置文件来指向liquibase,但您的映射可以是xml或jpa注释。更多信息可以在上找到,但您可以使用“数据库URL”,如

如果您有hibernate xml配置文件或

hibernate:ejb3:myPersistenceUnit
如果您有META-INF/persistence.xml,或者

hibernate:spring:com.example?dialect=org.hibernate.dialect.MySQL5Dialect

如果您希望基于包含注释实体的java包自动生成JPA配置。

您可以更详细地解释一下,或者给我指出liquibase hibernate文档所在的URL吗。你有什么特别想知道的吗?源代码应该构建得很好。给我发封电子邮件nathan[在]voxland.net,我可以帮你解答这个问题答案仍然不完整。如果没有
hibernate.cfg.xml
文件,参数是什么?当前如果没有hibernate.cfg.xml文件,liquibase不知道如何读取当前映射以将其与数据库架构进行比较,因此无法使用liquibase根据hibernate模型自动生成变更集。不过,您仍然可以使用liquibase,只需手动将所需的更改附加到变更日志中即可。与基于差异的工作流相比,这通常是我推荐的方法。您在使用注释时得到了这一点吗?下面引用的Liquibase文档页面只包含指向XML文件的内容
hibernate:spring:com.example?dialect=org.hibernate.dialect.MySQL5Dialect