Size: a a a

Android arch. components

2019 October 10

М

Михаил in Android arch. components
Alexey Pushkarev
Вот всегда интересовало четкое определение что есть orm и почему рум им не был?
Либа которая мапит структуры базы данных на объекты нужных тебе классов. Рум всегда был орм
источник

СГ

Сергей Греков in Android arch. components
Object-Relational Mapping.  В рум автоматической работы с реляциями не было, по крайней мере в привычном понимании.
источник

AP

Alexey Pushkarev in Android arch. components
Михаил
Либа которая мапит структуры базы данных на объекты нужных тебе классов. Рум всегда был орм
хм, окей. Тогда что не orm? То что есть в андроиде, то есть какая-то обертка над sql драйвером, которая позволяет получать курсоры, а дальше уже сам вытаскивай из них что надо, и не забывай их закрывать, а то протечет. Орм всю работу с курсорами делает за нас и просто мапит данные из таблиц в наши объекты.
источник

М

Михаил in Android arch. components
Alexey Pushkarev
хм, окей. Тогда что не orm? То что есть в андроиде, то есть какая-то обертка над sql драйвером, которая позволяет получать курсоры, а дальше уже сам вытаскивай из них что надо, и не забывай их закрывать, а то протечет. Орм всю работу с курсорами делает за нас и просто мапит данные из таблиц в наши объекты.
+
источник

М

Михаил in Android arch. components
Сергей Греков
Object-Relational Mapping.  В рум автоматической работы с реляциями не было, по крайней мере в привычном понимании.
Там помимо relation есть еще слово object)
источник

СГ

Сергей Греков in Android arch. components
Alexey Pushkarev
хм, окей. Тогда что не orm? То что есть в андроиде, то есть какая-то обертка над sql драйвером, которая позволяет получать курсоры, а дальше уже сам вытаскивай из них что надо, и не забывай их закрывать, а то протечет. Орм всю работу с курсорами делает за нас и просто мапит данные из таблиц в наши объекты.
Это получается просто OM, без работы с реляциями
источник

М

Михаил in Android arch. components
А в чем плюс того что нет возможности использовать many to many и тд?
источник

СГ

Сергей Греков in Android arch. components
Михаил
А в чем плюс того что нет возможности использовать many to many и тд?
Простота, нет возможности дёрнуть запрос к базе на мэйнтреде(как может случиться с ленивым запросам реляций например)
источник

М

Михаил in Android arch. components
Сергей Греков
Простота, нет возможности дёрнуть запрос к базе на мэйнтреде(как может случиться с ленивым запросам реляций например)
Собственно на этом плюсы заканчиваются. Зато теперь нужно руками поддерживать консистентность данных со стороны хранения и со стороны использования
источник

М

Михаил in Android arch. components
Когда то конечно денормализация нужна, но чаще наоборот не хочется руками консистентность поддерживать
источник

СГ

Сергей Греков in Android arch. components
Михаил
Собственно на этом плюсы заканчиваются. Зато теперь нужно руками поддерживать консистентность данных со стороны хранения и со стороны использования
В этом было выгодное отличие рум от сотни других орм. Из опыта, как только начинается работа с реляциями на уровне выше sql, начинается задница. Потому что каждая орм норомит переизобрести SQL, и получается плохо.
источник

М

Михаил in Android arch. components
Сергей Греков
В этом было выгодное отличие рум от сотни других орм. Из опыта, как только начинается работа с реляциями на уровне выше sql, начинается задница. Потому что каждая орм норомит переизобрести SQL, и получается плохо.
Скок не видел орм на андроид все одинаковые. Room, green dao, requery, orm lite...
источник

СГ

Сергей Греков in Android arch. components
Странно что Игит сам в подкасте говорил что они намеренно избежали работы с реляциями, а тут теперь такое..
источник

K

Kopusha in Android arch. components
апдейт рума не смотрел, но вроде мода на ORM-ы прошла и хибернейтами обмазываться считается зашквар из-за проблем описанных выше. Работает на простых случаях, а потом ты тюнишь ORM, ищешь способы ее обойти и дебажишь каскады скрытых запросов)
источник

М

Михаил in Android arch. components
Kopusha
апдейт рума не смотрел, но вроде мода на ORM-ы прошла и хибернейтами обмазываться считается зашквар из-за проблем описанных выше. Работает на простых случаях, а потом ты тюнишь ORM, ищешь способы ее обойти и дебажишь каскады скрытых запросов)
А что щас в большой джаве юзают если не хибер?)
источник

K

Kopusha in Android arch. components
назад к истокам видимо, raw sql
источник

СГ

Сергей Греков in Android arch. components
Михаил
А что щас в большой джаве юзают если не хибер?)
я знаю что во многих проектах начали JOOQ использовать вместо хибера
источник

М

Михаил in Android arch. components
Сергей Греков
я знаю что во многих проектах начали JOOQ использовать вместо хибера
Jooq нормес
источник

AP

Alexey Pushkarev in Android arch. components
Сергей Греков
Странно что Игит сам в подкасте говорил что они намеренно избежали работы с реляциями, а тут теперь такое..
Боярин сегодня одно говорит, а завтра другое. Кто их там знает что они в этом Гугле мутят 😀
источник

Sergey λ in Android arch. components
Alexey Pushkarev
Боярин сегодня одно говорит, а завтра другое. Кто их там знает что они в этом Гугле мутят 😀
Они читают реддит и идут на поводу у индусов
источник