gpt4 book ai didi

rest - 错误: Getters of lazy classes cannot be final Kotlin Spring Boot

转载 作者:行者123 更新时间:2023-12-02 12:16:01 26 4
gpt4 key购买 nike

我尝试在Kotlin上创建REST Spring Boot Server。我使用数据库-首先使用内置的Intellij工具自动生成实体。启动服务器弹出错误时:

2020-01-12 15:09:14.387 ERROR 23016 --- [  restartedMain] o.h.tuple.entity.PojoEntityTuplizer      : HHH000112: Getters of lazy classes cannot be final: ru.madbrains.smartfridgemanager.server.model.MealplanEntity.name
2020-01-12 15:09:14.391 ERROR 23016 --- [ restartedMain] o.h.tuple.entity.PojoEntityTuplizer : HHH000243: Setters of lazy classes cannot be final: ru.madbrains.smartfridgemanager.server.model.MealplanEntity.name
2020-01-12 15:09:14.391 ERROR 23016 --- [ restartedMain] o.h.tuple.entity.PojoEntityTuplizer : HHH000112: Getters of lazy classes cannot be final: ru.madbrains.smartfridgemanager.server.model.MealplanEntity.refRecipeEntities
2020-01-12 15:09:14.391 ERROR 23016 --- [ restartedMain] o.h.tuple.entity.PojoEntityTuplizer : HHH000243: Setters of lazy classes cannot be final: ru.madbrains.smartfridgemanager.server.model.MealplanEntity.refRecipeEntities

我的实体:
import javax.persistence.*

@Entity
@Table(name = "mealplan", schema = "public", catalog = "smartfridgemanagerdatabase")
open class MealplanEntity {
@get:Id
@get:Column(name = "id", nullable = false, insertable = false, updatable = false)
var id: Int? = null
@get:Basic
@get:Column(name = "name", nullable = true)
var name: Int? = null

@get:OneToMany(mappedBy = "refMealplanEntity")
var refRecipeEntities: List<RecipeEntity>? = null

override fun toString(): String =
"Entity of type: ${javaClass.name} ( " +
"id = $id " +
"name = $name " +
")"

// constant value returned to avoid entity inequality to itself before and after it's update/merge
override fun hashCode(): Int = 42

override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as MealplanEntity

if (id != other.id) return false
if (name != other.name) return false

return true
}
}

怎么了?

编辑1:我的build.gradle.kts文件:
(使用Spring Initializr生成-start.spring.io)
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.2.2.RELEASE"
id("io.spring.dependency-management") version "1.0.8.RELEASE"
kotlin("jvm") version "1.3.61"
kotlin("plugin.spring") version "1.3.61"
kotlin("plugin.jpa") version "1.3.61"
}

group = "ru.madbrains.smartfridgemanager"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

val developmentOnly by configurations.creating
configurations {
runtimeClasspath {
extendsFrom(developmentOnly)
}
}

repositories {
mavenCentral()
}

dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.0.0.RELEASE")
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")
implementation("org.postgresql:postgresql")
implementation("io.jsonwebtoken:jjwt:0.9.1")
developmentOnly("org.springframework.boot:spring-boot-devtools")
}

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

最佳答案

在属性中添加open属性可以为我解决问题。例如

open var name: Int? = null

关于rest - 错误: Getters of lazy classes cannot be final Kotlin Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59704375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com