Как моделировать данные при использовании Room - PullRequest
0 голосов
/ 19 июня 2019

Я читаю о Комнате, и то, как она обрабатывает отношения между сущностями, понятно, но сбивает с толку.Я не могу обернуть голову, какой должна быть «правильная» модель данных, чтобы сделать Room счастливым.Проблема в том, что все примеры, которые я нашел, показывают, как обрабатывать простые отношения, но не затрагивать вложения или сущности, которые содержат ссылки на несколько других сущностей.

Возвращаясь к началу, мой вопрос таков:Как мне смоделировать свои данные, чтобы максимально упростить использование Room?

  1. Можно ли иметь независимую от фреймворка модель данных?Это то, что мне кажется правильным.Каркас не должен определять способ моделирования объектов.Я хочу иметь возможность обходить модель данных, как если бы у меня вообще не было базы данных.
  2. Предполагая, что у меня есть глубокая иерархия, например: Game имеет несколько Players и несколькоRounds.A Round имеет несколько Turns.A Turn может иметь несколько Steps.Как мне смоделировать это в соответствии с комнатой?Читая о @Relation, можно предположить, что должны быть «обертки» POJO.Но значит ли это, что здесь мне придется создавать классы TurnWithSteps, RoundWithTurnWithSteps и GameWithRoundWithTurnWithSteps?
  3. Это также подразумевает, что при работе с сущностями в коде я должен решить, какой «вид» этой сущности использовать.Так что я не могу просто работать с Game и использовать его так, как если бы это был настоящий класс с хорошим моделированием?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...