【问题标题】:kotlin-jpa plugin not generating default constructorkotlin-jpa 插件不生成默认构造函数
【发布时间】:2019-08-09 06:24:09
【问题描述】:

我正在使用 kotlin-jpa 为我的 kotlin 实体生成默认构造函数,但是没有生成:

我刚用过:

id("org.jetbrains.kotlin.plugin.jpa") version "1.3.21"


@Entity
data class PlanSubscription(@Id ...

但是使用 kotlin-jpa 插件的事件没有生成构造函数:

No default (no-argument) constructor for class

【问题讨论】:

  • 您不应该为实体使用数据类:toString/hashCode/equals 不适合实体,实体应该开放以支持基于动态代理的延迟加载。
  • @Guilherme Torres Castro 问题的状态如何?
  • @Skizo-ozᴉʞS 抱歉耽搁了。我犯了一个错误并粘贴了错误的插件kotlin.jvm而不是kotlin jpa。我编辑问题以反映我已经在使用 kotlin jpa 插件,但没有生成无参数构造函数。
  • 您需要定义一个空的构造函数,能否请您为您的类添加一个默认构造函数并再试一次?
  • @Skizo-ozᴉʞS 但这就是 kotlin-jpa 应该做的事情

标签: java jpa kotlin


【解决方案1】:

我有一个非常相似的问题。虽然不使用数据类的建议可能有用也可能没有用,但我发现有问题的是 jpa 插件的版本,请尝试使用 1.3.41 版

id "org.jetbrains.kotlin.plugin.jpa" version "1.3.41"

【讨论】:

    【解决方案2】:

    你需要设置

    `<dependency>
       <groupId>org.jetbrains.kotlin</groupId>
       <artifactId>kotlin-reflect</artifactId>
       <version>1.1.0</version>
    </dependency>` 
    

    在你的 pom.xml 中

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 2015-11-09
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多