如何在 kotlin spring 引导中生成 QClass?

How do I generate QClass in kotlin spring boot?

我想在 kotlin spring 引导环境中使用 querydsl。但我不知道如何设置 kotlin gradle.

关于如何设置 groovy dsl 的资料很多,但是 kotlin dsl 的设置并不详细。

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("plugin.jpa") version "1.2.71"
    id("org.springframework.boot") version "2.1.5.RELEASE"
    id("io.spring.dependency-management") version "0.6.0.RELEASE"
    kotlin("jvm") version "1.2.71"
    kotlin("plugin.spring") version "1.2.71"

//    kotlin("kapt") version "1.3.31"
}


group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
    maven { url = uri("https://plugins.gradle.org/m2/") }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-jdbc")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    runtimeOnly("mysql:mysql-connector-java")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    compile("com.querydsl", "querydsl-jpa", "3.6.3")
    kapt("com.mysema.querydslquerydsl-apt:3.6.3:jpa") 
}


group = "com.acme"
tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    }
}



This github repo 有使用 Spring Boot.

从项目中的 kotlin 源代码生成 QueryDSL 实体的示例

这不是微不足道的,因为默认情况下 querydsl 从源代码生成 类 并解析 Java,而不是 Kotlin。然而这是可能的