Posted at

KotlinでInstantiationException: No default constructor for entityになった時の解決策


Exceptionが発生するコード

import javax.persistence.Entity

import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id

@Entity
data class Car (var brand: String,
var model: String,
var color: String,
var registerNumber: String,
var year: Int,
var price: Int,
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
var id: Long)


デフォルト値を設定しないとエラーが発生するとのことなので、各フィールドにデフォルト値を設定したらエラーが解消した。


Exceptionが発生しないコード

import javax.persistence.Entity

import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id

@Entity
data class Car (var brand: String = "",
var model: String = "",
var color: String = "",
var registerNumber: String = "",
var year: Int = 0,
var price: Int = 0,
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
var id: Long = -1)



参考