Size: a a a

2019 September 20

YT

Ysim Tokido in Kotlin Start
и соответсвенно мне не надо туда передавать этот id
источник

YT

Ysim Tokido in Kotlin Start
но конструктор дата класса требует указать параметр
источник

YT

Ysim Tokido in Kotlin Start
как это можно обойти?
источник

AM

Andrew Mikhaylov in Kotlin Start
Библиотека вам потом установит сама значение туда? Ну укажите при объявлении проперти там сами дефолтное значение.
источник

AM

Andrew Mikhaylov in Kotlin Start
Либо вообще уберите это свойство из конструктора.
источник

YT

Ysim Tokido in Kotlin Start
Andrew Mikhaylov
Библиотека вам потом установит сама значение туда? Ну укажите при объявлении проперти там сами дефолтное значение.
да
источник

AM

Andrew Mikhaylov in Kotlin Start
data class Cat(var name: String) {
   @PKey var id: Int = 0
}
источник

AM

Andrew Mikhaylov in Kotlin Start
Что-то в этом духе
источник

D

Denys in Kotlin Start
Или сделать secondary конструктор, или использовать именованные параметры при вызове primary конструктора.
источник

AM

Andrew Mikhaylov in Kotlin Start
Или поместить айдишник последним параметром первого конструктора с дефолтным значением 🌚
источник

AM

Andrew Mikhaylov in Kotlin Start
Зато не придётся при вызове именовать все остальные параметры
источник

D

Denys in Kotlin Start
Да. Короче, вариантов куча. Выбирайте. :)
источник
2019 September 21

Н

Напыщенное Эго in Kotlin Start
Ysim Tokido
Как при вызове data класса проигнорировать поле,так чтобы по дефолту только бралось?
Выкинуть id из праймери конструктора data classа - так себе предложение.
Теряется смысл data class'а.
Если вашу ORM не устроит null как дефолтное значение для id в конструкторе, то дела плохи.
У меня были подобного рода мучения. data classы не дружат с ORM. Удивительно, но факт.
источник

AN

Alexander Nozik in Kotlin Start
Для того, чтобы творить непотребства с конструктором есть фактори функции.
источник

Н

Напыщенное Эго in Kotlin Start
Alexander Nozik
Для того, чтобы творить непотребства с конструктором есть фактори функции.
Это не непотребства и фактори функции никак не избавляют от желания иметь определенные параметры (и id кажется должен быть там в первую очередь) в конструкторе data class'a
Проблема имхо довольно фундаментальная. В k/js меня немного спасают undefined. Потому как null это легальное значение для БД (например, моя ОРМка автосгенерит id только если оно было undefined)
источник

AN

Alexander Nozik in Kotlin Start
Ну а кто мешает делать этот id нулябельным?
источник

Н

Напыщенное Эго in Kotlin Start
Alexander Nozik
Ну а кто мешает делать этот id нулябельным?
Никто не мешает. Но в зависимости от того какие требования предъявляет бд и орм, могут быть проблемы.
источник

З

Захар in Kotlin Start
можно сюда задавать вопросы по торнадо фх или есть отдельный чат?
источник

AM

Andrew Mikhaylov in Kotlin Start
Вообще есть @kotlin_jvm, да.
источник

DT

Dmitrii Tukhvatullin in Kotlin Start
Ysim Tokido
как это можно обойти?
Можно попробовать написать свою аннотацию и обработать её в кастомном серелизаторе
источник