Size: a a a

Kotlin Community

2020 January 05

PD

Phil Delgyado in Kotlin Community
Ну, я любитель. Но я еще и глупый, я не понимаю, а чем это принципиально лучше JDBCTemplates?
Я правильно понимаю, что логика сериализации в объект внутри Schema<SCH>?
источник

QH

Quantum Harmonizer in Kotlin Community
Phil Delgyado
Ну, я любитель. Но я еще и глупый, я не понимаю, а чем это принципиально лучше JDBCTemplates?
Я правильно понимаю, что логика сериализации в объект внутри Schema<SCH>?
Схема — а-ля DTO, только без рефлекшена.
Смысл в том, чтобы написать интеграцию этих схем с БД, при чём не привязываясь к JDBC.
источник

AT

Alexey Tkachenko in Kotlin Community
Quantum Harmonizer
Схема — а-ля DTO, только без рефлекшена.
Смысл в том, чтобы написать интеграцию этих схем с БД, при чём не привязываясь к JDBC.
Видимо, ORM?
источник

QH

Quantum Harmonizer in Kotlin Community
Alexey Tkachenko
Видимо, ORM?
Нечто среднее между ORM и ActiveRecord.
источник

PD

Phil Delgyado in Kotlin Community
Quantum Harmonizer
Схема — а-ля DTO, только без рефлекшена.
Смысл в том, чтобы написать интеграцию этих схем с БД, при чём не привязываясь к JDBC.
А что там внутри? Т.е. для меня во всяких подобных штуках самое интересное - как Rows превращаются в List<T>
Есть подход  JDBCTemplates с передачей RowMapper
Есть мой любимый вариант с хранинием json внутри БД (когда это осмысленно), там Jackson
А что тут?
источник

PD

Phil Delgyado in Kotlin Community
ActiveRecord - это же во всех интересных случаях скорее антипаттерн, разве не?
источник

AT

Alexey Tkachenko in Kotlin Community
Quantum Harmonizer
Нечто среднее между ORM и ActiveRecord.
«Оба хуже». Ясно-понятно.
источник

QH

Quantum Harmonizer in Kotlin Community
Phil Delgyado
А что там внутри? Т.е. для меня во всяких подобных штуках самое интересное - как Rows превращаются в List<T>
Есть подход  JDBCTemplates с передачей RowMapper
Есть мой любимый вариант с хранинием json внутри БД (когда это осмысленно), там Jackson
А что тут?
тут есть Schema — это описание имён и типов.
источник

PD

Phil Delgyado in Kotlin Community
Т.е. на каждый объект мне нужно заводить экземпляр Schema?
А просто написать rowMapper не проще?
источник

QH

Quantum Harmonizer in Kotlin Community
Phil Delgyado
ActiveRecord - это же во всех интересных случаях скорее антипаттерн, разве не?
К нему какие-то очень странные претензии, но, в любом случае, для меня они не актуальны.
источник

AN

Alexander Nozik in Kotlin Community
Phil Delgyado
А что там внутри? Т.е. для меня во всяких подобных штуках самое интересное - как Rows превращаются в List<T>
Есть подход  JDBCTemplates с передачей RowMapper
Есть мой любимый вариант с хранинием json внутри БД (когда это осмысленно), там Jackson
А что тут?
Генеральная идея примерно та же, что в kotlinx-serialization. Есть compile-time схема, которая потом в рантайме используется для рассовывания полей
источник

QH

Quantum Harmonizer in Kotlin Community
Phil Delgyado
Т.е. на каждый объект мне нужно заводить экземпляр Schema?
А просто написать rowMapper не проще?
Классы не нужны, классы — не структуры. Нужно заводить только Schema.
источник

PD

Phil Delgyado in Kotlin Community
А что тогда будет результатом query?
Общий на всех контейнер, фактически List<Map>?
источник

V

Valery in Kotlin Community
Alexander Nozik
Генеральная идея примерно та же, что в kotlinx-serialization. Есть compile-time схема, которая потом в рантайме используется для рассовывания полей
А эта схема как соотносится с схемой БД
источник

V

Valery in Kotlin Community
Это маппер?
источник

AN

Alexander Nozik in Kotlin Community
Valery
А эта схема как соотносится с схемой БД
Ну я не знаю как там у @Harmoniz, но из коробки никак. Но в принципе можно генерить схему бд по схеме из либы
источник

AN

Alexander Nozik in Kotlin Community
Существенный момент - это то, что создание контейнера с данными происходит не динамически через рефлексию, а при помощи статически сгенерированной обертки.
источник

V

Valery in Kotlin Community
И для каждой БД генератор свой...
источник

V

Valery in Kotlin Community
Alexander Nozik
Существенный момент - это то, что создание контейнера с данными происходит не динамически через рефлексию, а при помощи статически сгенерированной обертки.
Контейнер это БД?
источник

AN

Alexander Nozik in Kotlin Community
Valery
Контейнер это БД?
Контейнер - это то, что в коде используется для доступа к данным
источник