当前位置: 首页 > 知识库问答 >
问题:

如何将JPA元模型与gradle、intellij IDEA结合使用?

子车高超
2023-03-14

我使用的是java 8、spring boot 2.0.0、spring data jpa(spring boot starter data jpa)、gradle和intellij。我一直在尝试使用JPA元模型,但很难找到如何配置。

实体类的元模型不仅仅是生成的。

我猜到它会很简单,但现在看来,这可能是错误的。我该如何使用它?

共有2个答案

丰胤运
2023-03-14

前几天,我使用缩放的元模型gradle插件(https://plugins.gradle.org/plugin/com.scalified.plugins.gradle.metamodel)做了这件事。我正在使用Spring Boot 2.0.5,但是我不明白为什么它不能与Spring Boot 2.0.0一样工作。我也在使用Gradle 4.8.1。

下面是我身材的节选。格雷德尔。

buildscript {
repositories {
   maven {
     url "https://plugins.gradle.org/m2/"
   }
}
dependencies {
  classpath (
      "org.springframework.boot:spring-boot-gradle-plugin:2.0.0",
      "gradle.plugin.com.scalified.plugins.gradle:metamodel:0.0.1");
  }
}

apply plugin: "com.scalified.plugins.gradle.metamodel"

// The plugin will default to the latest version of Hibernate if this is not specified
metamodel {
   hibernateVersion = '5.2.14.Final' // For Spring Boot 2.0.0
   hibernateVersion = '5.2.17.Final' // For Spring Boot 2.0.5
}

这将在src/generated下构建元模态文件,它们可以在代码中使用。我还必须更改IntelliJ设置,因为IntelliJ的构建自动排除了一些可能会长期运行的Gradle任务。请参见使用IntelliJ IDEA和https://youtrack.jetbrains.com/issue/IDEA-175165更多细节。

这个设置我改变克服这是:首选项-

终安和
2023-03-14

JDK11/Gradle 5.0/HiberNate 5.3.7。最终

sourceSets.main.java.srcDirs += "${buildDir}/generated"

compileJava {
  options.annotationProcessorGeneratedSourcesDirectory = file("${buildDir}/generated")
}

dependencies {
  annotationProcessor("javax.xml.bind:jaxb-api")
  annotationProcessor("org.hibernate:hibernate-jpamodelgen")
}

生成的元模型类将在“构建/生成”处生成

如果您使用的是JDK8或Hibernate 5.4,annotationProcessor(“javax.xml.bind:jaxb api”)可能没有必要。

 类似资料:
  • 有一个给定的数据库结构和graphql模式。幸运的是,他们有很多共同点,但不幸的是有一些不同。假设java中有与以下数据库结构匹配的实体。 SQL: Java: 现有的GraphQl模式被认为是这样的: 该项目在11.0版中使用graphql java(我想我们应该很快更新) graphql运行良好,实现方式如下: 因此,如何摆脱getGraphQlCowFromCowEntity和GetGrap

  • 问题内容: 它们都使用相同的语法来插入变量。例如,如果我想要以下内容 在我的下划线中,我的主要EJS中断,因为它试图替换用户名,并且主页中不存在此类变量。 问题答案: 我认为方括号默认情况下可以在EJS中使用: 而且,如果您需要更高级的知识,EJS github页面将介绍如何创建自定义标签: 我认为第二个“更高级”部分可能特定于服务器端应用程序 https://github.com/visionm

  • 问题内容: 问题是列表类型不符合Codable,以下类无法插入Realm。 例如, 考虑到上述类符合Codable,如果将该类存储到Realm,则需要使用type代替 为了符合Codable,它应该是实现协议。() 但是,类型不符合(),如果类具有类型,则无法使用Codable 。 如何解决这个问题? 谢谢, 问题答案: 你快到了。在初始化程序内部,您可以使用解码后的数组初始化列表。基本上,改变

  • 问题内容: 我正在使用Hibernate Validator 4.0.2,Spring 3.0和Hibernate 3.3.2(据我所知,是JPA2之前的版本)作为JPA 1提供程序。 我发现将Validator集成到MVC层很容易(这是可行的),但是看不到如何将验证器自动集成到JPA entityManager(JPA 1)中。 基本上,我有一些实体将保留下来,但它们不是来自Web层,因此尚未经

  • 我想将JPA元模型添加到我的项目- 我发现很多例子我怎么能做到这一点,但都与。另外我发现这个网站:https://plugins.gradle.org/search?term=metamodel 尝试前三个插件。每个插件我得到错误:在类标记为lombok注释和一些类不是。它是一些插件的例子: 1) 在Spring中,哪个插件或方法是创建JPA元模型最正式(正确的)? 2)如何仅指定具有的包而不扫描

  • 我正在开发一个Spring应用程序,并在一个存储库上定义各种查找方法: 问题是我有30列,可以选择对其进行筛选。这将导致存储库方法变得笨拙: JPA层应该如何设计以适应这种情况? 如果我创建一个具有属性的对象: 我可以将<code>SearchObject</code>传递到一个查找方法中,Spring JPA将根据哪些属性为空来确定要插入哪些属性和用于哪些属性的语句-如果属性不为空,则为该属性生