Чтобы создать экземпляр Kotlin data class без аргументов, тебе нужно убедиться, что доступен конструктор без аргументов. Есть два основных подхода для этого.
Задай значения по умолчанию для всех параметров в основном конструкторе. Kotlin автоматически генерирует конструктор без аргументов:
data class User(var id: Long = -1, var name: String? = null)
val user = User() // работает без аргументов
Это рекомендуемый подход, так как он лаконичен и идиоматичен для Kotlin.
Объяви вторичный конструктор без параметров, который делегирует управление основному конструктору через this(...):
data class User(var id: Long, var name: String?) {
constructor() : this(-1, null)
}
val user = User() // тоже работает
kotlin-jpa может автоматически генерировать конструкторы без аргументов без ручных правок твоего data classЕсли все параметры primary constructor в data class имеют значения по умолчанию, Kotlin автоматически генерирует no-arg конструктор, который можно вызвать без аргументов.
Новый — ещё не проверен сообществом
Вы