我想为我的项目添加Liquibase DB迁移支持。它也使用Spring靴。现在,我想通过使用Hibernate和JPA实体类,在没有DB连接的情况下生成changelog。但它抛出了一个错误:
mvn liquibase:generateChangeLog
[...]
Error setting up or running Liquibase: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL: class path resource [] cannot be resolved to URL because it does not exist
[...]
我没有持久单元XML文件,因为这都是由Spring Boot在运行时完成的。该项目是一个多模块项目。Liquibase插件配置在父POM中。实体在子模块中。
这是Liquibase的Maven插件配置:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<dependencies>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate5</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
</dependencies>
<configuration>
<url>hibernate:spring:org.kitodo.mediaserver.core.db.entities?dialect=liquibase.ext.hibernate.database.HibernateGenericDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</url>
<driver>liquibase.ext.hibernate.database.connection.HibernateDriver</driver>
</configuration>
</plugin>
如果我使用DB连接而不是hibernate:spring:。。。它起作用了。
如何在没有DB连接的情况下通过实体生成变更日志?
我也遇到了同样的问题,为了解决这个问题,我添加了maven项目的依赖项,该项目包含您的实体。例如:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<dependencies>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate5</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<!-- Add your maven project which hosts your entities classes -->
<dependency>
<groupId>org.kitodo.mediaserver</groupId>
<artifactId>org.kitodo.mediaserver.core.db.entities</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<configuration>
<url>hibernate:spring:org.kitodo.mediaserver.core.db.entities?dialect=liquibase.ext.hibernate.database.HibernateGenericDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</url>
<driver>liquibase.ext.hibernate.database.connection.HibernateDriver</driver>
</configuration>
</plugin>
我想把liquibase介绍到我的项目中,首先,我想根据我的hibernate实体生成一个changelog文件。 感谢你的帮助.
有没有一种方法可以使用IntelliJ生成JPA实体,而不需要持久性。xml文件?或者IntelliJ基本上可以从Java配置中识别持久性单元?我有一个现有(遗留)模式,该项目是一个重写,现在在Spring Boot中使用Java配置。根据Spring Boot文档,持久化单元将通过以下代码创建:
主要内容:JPA实体插入示例在JPA中,我们可以通过实体轻松地将数据插入到数据库中。 提供方法来插入数据记录。 JPA实体插入示例 在这里,我们将演示如何使用实现插入学生的记录。 创建一个JPA项目,其项目目录结构如下所示 - 这个例子包含以下步骤 - 第1步: 在包下创建一个名为StudentEntity.java的实体类,这个类包含以下几个属性:, 和 。 文件:StudentEntity.java 的代码如下 - 第2
我从一个由DBA制作的现有表中生成了实体类。表中的列不是按字母顺序排列的。当我启动应用程序时,出现以下错误消息 --错误消息-- 执行DDL表名时出错 数据库中已有一个名为table name的对象 --应用程序.属性-- spring.jpa.hibernate.ddl-auto=none spring.jpa.generate-ddl=false 是否可以从现有的表中创建实体类,其中的列不是按
我在配置以从WSDL和多个XSD文件生成Java类时遇到问题,这些文件都存在于同一个标准目录。 如何将jaxb2 maven插件与内联XSD一起使用?只因为答案正确地建议在插件配置中使用参数,但这个问题实际上与内联XSD有关,而我的XSD是外部的。 这里列出了插件目标参数。 我的插件配置是: 我正在用
问题内容: 我有maven项目,我想从现有实体生成DDL。 我怎样才能做到这一点? 我可以生成DDL的任何Maven插件吗? 我正在使用JPA。(open jpa) 问题答案: openjpa-maven-plugin插件提供了一个目标。使用此目标,可以从现有实体创建DDL。