Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
кстати... можно сделать свой объект со своим набором маппинга, где нужные филды уже будут конвертированы)
Читать полностью…но благодаря .convertFrom { it!! } это инлайном можно конвертнуть
Читать полностью…Поддерживаю, репозиторий должен вернуть уже твоё дто, не зависимо от того что там под капотом - jooq/hibernate/etc
Читать полностью…Ну и я же не топлю за этот подход, но так, по фану и для общего развития можно было бы попробовать
Читать полностью…вот тут нужен маппер с !! заместо референса на конструктор
Читать полностью…я делаю интерфейс
interface UserRepository {
fun findUser(id: UUID): User?
}
мой User не зависим от реализации
какие то чудеса и рождественская магия между 22.0.5 и 25.0.5
Читать полностью…шайтанства нет, мой дата-класс 1 в 1 повторяет структуру, что в бд
просто обхожу баг Эдера
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))
}
ну конечно, ты же не сможешь условный String?, который тебе нагенерил жук положил в поле твоего дата класса, где String
Читать полностью…нормальный подход, когда выходит сообщение Приходите завтра, почему все время сегодня приходите.
Читать полностью…сколько параметров у функции перед, столько он попытается замаппить в соответствующий конструктор
Читать полностью…если у тебя интерфейс зависит от того, что нагенерила имплементация - это плохой дизайн
Читать полностью…Ну у меня это extension fun, которая в себе содержит несколько других, которые и логи пишут и ответ отправляют и мониторинг делают
Читать полностью…