**Env:**我们有一个用Sping Boot 编写的应用程序。
该应用程序由2个模块组成。
- 第一个模块 * 负责业务逻辑和数据库。该模块使用Liquibase来控制数据库结构。
- 第二模块 * 依赖于第一模块,负责REST API(例如)。
任务:我们想在第二模块中添加一个新的JPA实体。新的JPA实体与业务逻辑无关,它具有辅助功能。我们不能改变第一个模块的源代码。
**问题:**有哪些实现方式?
**问题:**我们可以用通常的方式实现(实体、仓库等)。注解)。但是我们如何强制应用程序为新实体创建表呢?在我们的例子中,不可能使用Hibernate为新实体创建表,因为依赖项使用Liquibase创建数据库结构。因此,spring.jpa.hibernate.ddl-auto
属性为none
。
1条答案
按热度按时间gcuhipw91#
我找到了解决这个任务的办法。
Liquibase只有一个变更日志文件(
spring.liquibase.changeLog
属性),它是所有包含的变更集文件的入口点(这些文件使用include
标记连接)。我们可以覆盖
spring.liquibase.changeLog
属性以使用我们自己的更改日志文件。并且我应该在新的变更日志文件中包含在属性覆盖之前使用的变更日志文件。这样,我们将保留原始的数据库结构,并有机会添加自定义更改集。