'Liquibase Hibernate missing SequenceStyleGenerator.generatorKey() error

I am trying to generate a diff changelog using Liquibase and Hibernate but when I run the command gradle diffChangeLog I get the following error:

ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: 'java.lang.Object org.hibernate.id.enhanced.SequenceStyleGenerator.generatorKey()'
java.lang.NoSuchMethodError: 'java.lang.Object org.hibernate.id.enhanced.SequenceStyleGenerator.generatorKey()'

I am able to generate a changelog, but only get issues when trying to generate a diff changelog. My build.gradle.kts file is below:

    plugins {
        java
        id("org.springframework.boot") version "2.6.2"
        id("io.spring.dependency-management") version "1.0.11.RELEASE"
        id("org.liquibase.gradle") version "2.1.1"
    }

    group = "com.example"
    version = "0.0.1-SNAPSHOT"
    var sourceCompatibility = "11"
    val postgresVersion = "42.2.19"
    val liquibaseVersion = "2.1.1"
    val lombokVersion = "1.18.20"
    val liquibaseCoreVersion = "3.8.4"
    val liquibaseExtVersion = "5:3.8"
    val hibernateCoreVersion= "5.4.10.Final"

    repositories {
        mavenCentral()
        maven {
            url = uri("https://repo.spring.io/milestone")
        }
        maven {
            url = uri("https://repo.spring.io/snapshot")
        }
    }

    buildscript {
        repositories {
            gradlePluginPortal()
        }
        dependencies {
            classpath("net.ltgt.gradle:gradle-apt-plugin:0.18")
            classpath("org.postgresql:postgresql:42.2.9")
            classpath("org.liquibase.ext:liquibase-hibernate5:3.8")
            classpath("org.liquibase:liquibase-core:3.8.4")
            classpath("org.liquibase:liquibase-gradle-plugin:2.0.2")
            classpath("org.springframework.data:spring-data-jpa:2.2.1.RELEASE")
        }
    }

    dependencies {
        implementation("org.jetbrains:annotations:20.1.0")
        runtimeOnly("org.postgresql:postgresql")

        implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    //  implementation("org.springframework.boot:spring-boot-starter-security")
        implementation("org.springframework.boot:spring-boot-starter-web")
        implementation("org.postgresql:postgresql:$postgresVersion")
        implementation("org.springframework.boot:spring-boot-starter")

        testImplementation("org.springframework.boot:spring-boot-starter-test") {
            exclude(group= "junit", module= "junit")
        }
        //testImplementation("org.springframework.security:spring-security-test")

        testImplementation("org.springframework.boot:spring-boot-starter-test")
        testImplementation("org.hamcrest:hamcrest-library:2.2")


        implementation("org.liquibase:liquibase-core:$liquibaseCoreVersion")
        implementation("org.liquibase.ext:liquibase-hibernate$liquibaseExtVersion")
        implementation("org.springframework.boot:spring-boot:2.6.2")
        implementation("info.picocli:picocli:4.6.1")
        implementation("org.liquibase:liquibase-groovy-dsl:3.0.0")

        liquibaseRuntime("org.liquibase:liquibase-core:$liquibaseCoreVersion")
        liquibaseRuntime("org.liquibase:liquibase-groovy-dsl:2.1.1")
        liquibaseRuntime("org.postgresql:postgresql:$postgresVersion")
        liquibaseRuntime("org.liquibase.ext:liquibase-hibernate$liquibaseExtVersion")
        liquibaseRuntime(sourceSets.getByName("main").compileClasspath)
        liquibaseRuntime(sourceSets.getByName("main").runtimeClasspath)
        liquibaseRuntime(sourceSets.getByName("main").output)

        compileOnly("org.projectlombok:lombok:$lombokVersion")
        annotationProcessor("org.projectlombok:lombok:$lombokVersion")
    }

    tasks.named<Test>("test") {
        useJUnitPlatform()
    }

    tasks {
        // Use the native JUnit support of Gradle.
        "test"(Test::class) {
            useJUnitPlatform()
        }
    }

    liquibase {
        activities.register("main") {
            this.arguments = mapOf(
                    "classpath" to "src/main/resources",
                    "driver" to "org.postgresql.Driver",
                    "logLevel" to "info",
                    "changeLogFile" to "src/main/resources/db/changelog/changes/changelog_002.xml",
                    "url" to "jdbc:postgresql://localhost:54320/postgres?currentSchema=schema",
                    "username" to "postgres",
                    "password" to "postgres",
                    "referenceUrl" to "hibernate:spring:com.example?dialect=org.hibernate.dialect.PostgreSQLDialect" +
                            "&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate." +
                            "SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=" +
                            "org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy")
        }
    }

I have tried to change the versioning around but then get an error saying the driver could not be found.

Any help would be greatly appreciated! Thank you



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source