如何在Kotlin中使用QueryDSL并生成文件
我使用下面的maven pom.xml文件,不能生成querydsl文件。
我find了一个questrion: Kotlin-Kapt注释处理器与maven不兼容
我想从kotlin实体类生成jpa querydsl文件。
有一个非常好的例子在线如何使用gradle生成dsl文件https://github.com/JetBrains/kotlin-examples/blob/master/gradle/kotlin-querydsl/build.gradle 。
然而,我试图在maven中实现这一点,并没有运气。 我目前的pom在下面。 有谁知道这个问题可能是什么? 提前致谢。
它使用querydsl3,我使用4
4.0.0 cn.techcave.chat jpa 0.0.1-SNAPSHOT jar jpa Kotlin Demo project for Spring Boot JPA org.springframework.boot spring-boot-starter-parent 1.5.9.RELEASE true UTF-8 UTF-8 1.8 1.2.10 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-data-rest org.springframework.data spring-data-rest-hal-browser org.jetbrains.kotlin kotlin-stdlib-jdk8 ${kotlin.version} org.jetbrains.kotlin kotlin-reflect ${kotlin.version} mysql mysql-connector-java runtime io.springfox springfox-swagger-ui 2.8.0 io.springfox springfox-swagger2 2.8.0 io.springfox springfox-data-rest 2.8.0 com.querydsl querydsl-apt 4.1.4 com.querydsl querydsl-jpa 4.1.4 org.springframework.boot spring-boot-starter-test test javax.xml.bind jaxb-api 2.3.0 <!--test--> ${project.basedir}/src/main/kotlin ${project.basedir}/src/test/kotlin org.springframework.boot spring-boot-maven-plugin kotlin-maven-plugin org.jetbrains.kotlin ${kotlin.version} spring 1.8 kapt kapt /src/main/kotlin <!--${project.basedir}/src/main/java--> com.querydsl querydsl-apt 4.1.4 jpa <!----> <!--target/generated-sources/java--> <!--com.querydsl.apt.QuerydslAnnotationProcessor--> <!----> compile compile compile test-compile test-compile test-compile org.jetbrains.kotlin kotlin-maven-allopen ${kotlin.version} <!----> <!--com.mysema.maven--> <!--apt-maven-plugin--> <!--1.1.3--> <!----> <!----> <!----> <!--process--> <!----> <!----> <!--target/generated-sources/java--> <!--com.mysema.query.apt.jpa.JPAAnnotationProcessor--> <!----> <!----> <!----> <!---->
谢谢
AFAIK,这是不可能的,因为QueryDSL插件分析源,而不是字节码。 当然,它不能理解科林类的来源。
所以我看到的唯一方法是将实体类移动到单独的模块中,并用java重写它们。