我想将JPA元模型添加到我的项目-Spring boot + gradle
我发现很多示例我该怎么做,但是全部使用Maven
。我也找到这个网站:https://plugins.gradle.org/search?term=metamodel
,然后尝试前三个插件。对于每个插件,我都会遇到错误:error: cannot find symbol
在标记为龙目岛@Builder
注释的类中,而某些类不是entity
。这是一些插件的示例:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.github.iboyko.gradle.plugins:jpamodelgen-plugin:1.0.1"
}
}
dependencies {
compile ('org.hibernate:hibernate-jpamodelgen')
}
1)在春季JPA metamodel
中创建哪个boot + spring-data-jpa + gradle
最官方(正确)的插件或方法?
2)如何只用entities
指定软件包,而不扫描其他类?
3)如何与lombok
结交朋友?
编辑
我将此代码添加到gradle文件中:
sourceSets.configureEach { sourceSet ->
tasks.named(sourceSet.compileJavaTaskName).configure {
options.annotationProcessorGeneratedSourcesDirectory = file("$buildDir/generated/sources/java")
}
}
,它会产生classes_
的罚款。之后,我标记
generated/sources/java
生成的类的文件夹ass根(精确到此文件夹并标记为)
之后,我尝试在存储库中导入生成的类,并在IDE中显示以下内容:
对于每个模块,我有2个模块-my_module
和my_module_main
(我不明白为什么),所有类都在my_module
中生成,但是所有代码都在my_module_main
中生成。如果我添加此依赖项-我有:
答案 0 :(得分:1)
您使用Spring Initalizr生成项目了吗?
这是您从Initializr获得的(期待我自己添加的jpamodelgen):
function checkeven(num) {
if (num === 0) {
return true;
}
else if (num === 1) {
return false;
}
else {
return checkeven(num - 2);
}
}
console.log(checkeven(8));
console.log(checkeven(9));
您可以在GitHub上找到一个演示项目:
https://github.com/simasch/demo-gradle-jpa
在IntelliJ中,您可以右键单击generate / sources / java并选择
答案 1 :(得分:0)
我正在努力解决同一问题。最终,我通过在compileOnly和注解处理器形式中添加了两个依赖关系来使其工作。不要问我为什么,但是它可以工作。
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
compileOnly 'org.hibernate:hibernate-jpamodelgen'
annotationProcessor('org.hibernate:hibernate-jpamodelgen')