+ дсл в имплементации репозитория связывает твой дата класс и структуру в бд, пропустить не выйдет
Читать полностью…а если структура в ~базе~ таблице поменялась, то это не скажется же если не апдейтить дата класс?
шайтанства нет, мой дата-класс 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
Читать полностью…нормальный подход, когда выходит сообщение Приходите завтра, почему все время сегодня приходите.
Читать полностью…сколько параметров у функции перед, столько он попытается замаппить в соответствующий конструктор
Читать полностью…если у тебя интерфейс зависит от того, что нагенерила имплементация - это плохой дизайн
Читать полностью…собственно, это единственная задача жука, я бы и просто на строках все писал, если бы тайпсэйф был возможен
Читать полностью…кстати... можно сделать свой объект со своим набором маппинга, где нужные филды уже будут конвертированы)
Читать полностью…Поддерживаю, репозиторий должен вернуть уже твоё дто, не зависимо от того что там под капотом - jooq/hibernate/etc
Читать полностью…Ну и я же не топлю за этот подход, но так, по фану и для общего развития можно было бы попробовать
Читать полностью…