jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5916

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

А нельзя unchecked cast в одном месте, чтобы не писать кучу бойлер-плейта?

Читать полностью…

pro.jvm

+ дсл в имплементации репозитория связывает твой дата класс и структуру в бд, пропустить не выйдет

Читать полностью…

pro.jvm

а если структура в ~базе~ таблице поменялась, то это не скажется же если не апдейтить дата класс?

Читать полностью…

pro.jvm

у меня это кастомный data class User, если ты про это

Читать полностью…

pro.jvm

какие то чудеса и рождественская магия между 22.0.5 и 25.0.5

Читать полностью…

pro.jvm

шайтанства нет, мой дата-класс 1 в 1 повторяет структуру, что в бд
просто обхожу баг Эдера

Читать полностью…

pro.jvm

override fun findByKeycloakId(keycloakId: String): User? {
return db.select(
USERS.ID.convertFrom { it!! },
USERS.KEYCLOAK_ID.convertFrom { it!! },
USERS.EMAIL.convertFrom { it!! },
USERS.USERNAME.convertFrom { it!! },
USERS.FIRST_NAME,
USERS.LAST_NAME,
USERS.CREATED_AT.convertFrom { it!! },
USERS.UPDATED_AT
).from(USERS)
.where(USERS.KEYCLOAK_ID.eq(keycloakId))
.fetchOne(Records.mapping(::User))
}

Читать полностью…

pro.jvm

ну конечно, ты же не сможешь условный String?, который тебе нагенерил жук положил в поле твоего дата класса, где String

Читать полностью…

pro.jvm

то есть методы .select/returningResult и тд

Читать полностью…

pro.jvm

там как раз всплывает nullable/not nullable

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

сколько параметров у функции перед, столько он попытается замаппить в соответствующий конструктор

Читать полностью…

pro.jvm

это позиционный маппер

Читать полностью…

pro.jvm

если у тебя интерфейс зависит от того, что нагенерила имплементация - это плохой дизайн

Читать полностью…

pro.jvm

.fetchOne(Records.mapping(::UserProfile))

Читать полностью…

pro.jvm

собственно, это единственная задача жука, я бы и просто на строках все писал, если бы тайпсэйф был возможен

Читать полностью…

pro.jvm

упадет компиляция и тесты, править все придется в любом случае

Читать полностью…

pro.jvm

да даже неохота подсвечивать. утро вечера мудренее. порешаю завтра

Читать полностью…

pro.jvm

кстати... можно сделать свой объект со своим набором маппинга, где нужные филды уже будут конвертированы)

Читать полностью…

pro.jvm

эх. этот key от которого сегодня полыхнул мой cloak

Читать полностью…

pro.jvm

так и понял

некрасивое шайтанство, я лучше рефлексией

Читать полностью…

pro.jvm

но благодаря .convertFrom { it!! } это инлайном можно конвертнуть

Читать полностью…

pro.jvm

ну и без маппера с !! это не лечится

Читать полностью…

pro.jvm

ну в части выборки, я как раз пример выше скинул

Читать полностью…

pro.jvm

Поддерживаю, репозиторий должен вернуть уже твоё дто, не зависимо от того что там под капотом - jooq/hibernate/etc

Читать полностью…

pro.jvm

0 рефлексии, интуитивно понятно

Читать полностью…

pro.jvm

Ну и я же не топлю за этот подход, но так, по фану и для общего развития можно было бы попробовать

Читать полностью…

pro.jvm

вот тут нужен маппер с !! заместо референса на конструктор

Читать полностью…

pro.jvm

это попахивает здравым смыслом

Читать полностью…

pro.jvm

это уже вообще попахивает слоистой архитектурой

Читать полностью…
Subscribe to a channel