Поддерживаю, репозиторий должен вернуть уже твоё дто, не зависимо от того что там под капотом - jooq/hibernate/etc
Читать полностью…Ну и я же не топлю за этот подход, но так, по фану и для общего развития можно было бы попробовать
Читать полностью…я делаю интерфейс
interface UserRepository {
fun findUser(id: UUID): User?
}
мой User не зависим от реализации
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, которая в себе содержит несколько других, которые и логи пишут и ответ отправляют и мониторинг делают
Читать полностью…