You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot3+Hibernate6中Liquibase生成空变更日志,缺失什么配置?

解决liquibase-hibernate6生成空变更日志的配置调整

1. 修正Hibernate实体扫描路径

当前Liquibase配置的url参数中,实体扫描包为com.example,但你的Item实体实际在com.example.demo包下,导致Liquibase无法定位到实体类。需要修改url为正确的包路径,同时添加Spring Boot默认的命名策略(确保表名生成符合预期):

liquibase {
    activities.register("main") {
        this.arguments = mapOf(
            "changelogFile" to "src/main/resources/config/liquibase/changelog/0.1.0/000000_00000000_initial-changelog.xml",
            "url" to "hibernate:spring:com.example.demo?dialect=org.hibernate.dialect.PostgreSQLDialect&hibernate.physical_naming_strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy"
        )
    }
}

2. 移除冗余依赖

liquibase-gradle-plugin已通过Gradle插件声明,无需添加到implementation依赖中,删除以下行:

implementation("org.liquibase:liquibase-gradle-plugin:$liquibaseGradlePluginVersion")

3. 先编译项目再生成变更日志

Liquibase需要读取编译后的实体类字节码,执行生成命令前先完成项目编译:

./gradlew compileJava generateChangeLog

4. 确认LiquibaseRuntime依赖有效性

你的liquibaseRuntime依赖已包含Hibernate6、Spring Data JPA及项目编译输出,这部分配置无需修改。

完成以上调整后,重新执行generateChangeLog即可生成包含Item实体表结构的变更日志。

内容的提问来源于stack exchange,提问作者bobbyrne01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:13:19