Kotlin имеет этот плагин noarg для создания синтетического конструктора noarg для классов без помощи JPA (и фреймворков, таких как mybatis, hibernate) для создания нового объекта. Пример:
data class User(val id: Int, val name: String)
Учитывая, что эти свойства объявлены как val, то есть неизменяемы, как эти структуры начинают создавать полностью испеченный объект со всеми установленными значениями. Плагин kotlin-noarg просто помогает создавать экземпляр нового экземпляра, но свойства (id и name) по-прежнему неизменяемы и, следовательно, не должны меняться после создания объекта.
Чтобы быть ясным, все отлично работает после добавления плагина noarg. Вопрос в том, как, учитывая, что свойства неизменяемы.
Этот вопрос тоже говорит об этом решении, но не о том, как его часть.