Урок 6. Room. Entity

Ответить
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 6. Room. Entity

Сообщение damager82 » 09 янв 2018, 10:49

В этом уроке более подробно рассмотрим возможности Entity. Как задать имя таблицы. Как задать имя или тип поля. Как создать составной или внешний ключ. Как создать индекс. Как использовать вложенные объекты.


Click here to read this article!
Последний раз редактировалось damager82 25 июн 2018, 12:50, всего редактировалось 3 раза.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
Димочка Ондроид
Сообщения: 1
Зарегистрирован: 07 май 2018, 07:19

Re: Урок 6. Room. Entity

Сообщение Димочка Ондроид » 07 май 2018, 07:52

Есть вопрос по поводу вложенных объектов. В уроке рассматривается следующий пример:

Код: Выделить всё

@Embedded
public Address address;
Однако не совсем понятно, как быть, если у меня будет массив этих самых Address[] или коллекция List<Address>.
Конечно, всегда есть вариант Конвертора: сделать из объекта JSON и записывать его как TEXT (и соответственно читать) - GSON в помощь :)
Но ведь это не тру путь для использования в ORM БД, и обязательно вылезет боком, например, если понадобятся какие-то сортировки или индексы.. Да и есть ограничения по размеру поля.

Собственно почему я в подобное упёрся? В сервера прилетают json объекты, которые без проблем парсятся в мои POJO (retrofit2 + gson). И было бы очень классно, если бы при работе с БД у меня на выходе были бы эти же самые POJO. И в простых объектах вполне достаточно использовать com.google.gson.annotations.* и import android.arch.persistence.room.* - всё по красоте. Но когда дело доходит до вложенных массивов объектов на ум приходят только костыли (вроде json-text полей).
Есть идеи? Буду очень признателен.

Ответить