Intereting Posts
Ошибка при создании объекта реализует интерфейс: класс не имеет конструктора Являются ли входящие функции Kotlin менее дорогими, чем анонимные классы Java? Использование префикса «m» для переменных в Котлине Firebase возвращает экземпляр null в классе Helper Живой шаблон не работает в Котлине Android Kotlin DialogFragment (TimePicker) Явное возвращение из лямбда-выражения в Котлине Элементарные функции в котлине Как инициировать массив строк в Котлине? Преобразование единиц измерения в километры до миль не возвращает ожидаемый результат Android Kotlin StringRes quantityString Обработчик исключений не работает с `spring-boot-starter-data-rest` Как сохранить имя пользователя и пароль из моего приложения в мою базу данных и как подключить мое приложение к моей базе данных? Мне нужно знать, почему? и если я изменю эту строку на "println (name + two)" ошибка решена? Плагин Android-плагинов жалуется на ошибку перевода Uncaught

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

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

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

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

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

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