MyBatis с неизменяемыми классами данных в Котлине

Kotlin имеет этот плагин noarg для создания синтетического конструктора noarg для классов без помощи JPA (и фреймворков, таких как mybatis, hibernate) для создания нового объекта. Пример:

data class User(val id: Int, val name: String) 

Учитывая, что эти свойства объявлены как val, то есть неизменяемы, как эти структуры начинают создавать полностью испеченный объект со всеми установленными значениями. Плагин kotlin-noarg просто помогает создавать экземпляр нового экземпляра, но свойства (id и name) по-прежнему неизменяемы и, следовательно, не должны меняться после создания объекта.

Чтобы быть ясным, все отлично работает после добавления плагина noarg. Вопрос в том, как, учитывая, что свойства неизменяемы.

Этот вопрос тоже говорит об этом решении, но не о том, как его часть.

Intereting Posts
Ожидание объявления члена Kotlin: «Длина выражения» типа «Int» не может быть вызвана как функция. Функция 'invoke ()' не найдена Как получить текущую локальную дату и время в Котлин Android Studio не выполняет рефакторинг «только для чтения» kapt сгенерированный код Макеты Anko – отличительные макеты в applyRecursively Модернизация с kotlin, неспособная создать @Body Android Room – выбор запроса с помощью LIKE Out-projected type в универсальном интерфейсе запрещает использование метода с общим параметром Может ли перегрузка операторов сравнения в Kotlin использоваться для реализации SQL-подобных функций? Аннотации JvmOverloads для основного конструктора класса Возможно ли вставить адаптер Recycler View с помощью кинжала 2.11 Динамическое развертывание и запуск узлов в CORDA Котлин Мгновует неизменяемый список Проверьте, не является ли EditText пустым kotlin android Почему мы не можем переопределить свойство val как var с get без его инициализации?