简体   繁体   中英

Apply hibernate-gradle-plugin using plugins dsl syntax?

I want to use org.hibernate:hibernate-gradle-plugin in my project with plugins dsl style. This is my build.gradle.kts plugin section:

plugins {
    kotlin("jvm") version "1.3.31"
    id("io.spring.dependency-management") version "1.0.6.RELEASE"
    id("org.springframework.boot") version "2.1.5.RELEASE"
    id("org.jetbrains.kotlin.plugin.spring") version "1.3.31"
    id("org.jetbrains.kotlin.plugin.jpa") version "1.3.31"
}

Does anybody knows how to do this?

All of the documentation and posts are using the legacy plugin application. Like this: How to setup Hibernate Gradle plugin for bytecode enhancement?

It looks like they haven't registered this plugin in the Gradle Plugins Repository which rules out using the newer DSL without using a custom plugin resolution strategy .

For your case in build.gradle.kts

plugins {
    id("org.hibernate.orm") version "5.4.3.Final"
}

And in settings.gradle.kts

pluginManagement {
    resolutionStrategy {
        eachPlugin { 
            if (requested.id.id == "org.hibernate.orm") { 
                useModule("org.hibernate:hibernate-gradle-plugin:${requested.version}") 
            } 
        } 
    }
}

In addition to the perfectly working solution of @MarkRobbo you can use the following snippet to configure the options of the hibernate-gradle-plugin in build.gradle.kts

tasks.withType<org.hibernate.orm.tooling.gradle.EnhanceTask>().configureEach {
     options.enableLazyInitialization = true
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM