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