#android #android-sqlite #android-room
#Android #android-sqlite #android-комната
Вопрос:
Я собираюсь использовать библиотеку комнат Android в своем приложении.
Поскольку у меня есть несколько подклассов, которые расширяют базовый тип, мне было интересно, будет ли хорошим подходом иметь одну таблицу этого типа в моей базе данных.
Возможно ли это в комнате Android?
Эта стратегия предусмотрена в инструменте ORM Java (Hibernate / JPA), но я ничего не нашел для Android Room.
Комментарии:
1. «Возможно ли это в комнате Android?» — да. Этот каталог проекта содержит две модели (
Comment
иLink
), которые расширяют единый объект Room (NoteEntity
) и хранятся в одной таблице базы данных.2. Во-первых, спасибо за ваш ответ. Не могли бы вы, пожалуйста, объяснить мне концепцию этого? Насколько я вижу, вы не используете аннотации в своих подклассах? И в результате поставщик использует только аннотации, предоставленные в суперклассах, и создает соответствующие столбцы, найденные в каждом подклассе?
3. Все столбцы находятся в суперклассе. По сути, суперкласс содержит надмножество столбцов в подклассах. В моей книге, в которой используется этот пример , я сравниваю и сравниваю этот подход с этим примером , используя те же классы, но где каждый подкласс получает свою собственную таблицу.
4. Хорошо, я понял. Разница между этими двумя образцами заключается в том, что в образце ‘poly’ класс объектов Comment помечается как ‘Entity’. Большое спасибо!