Стратегия наследования одной таблицы в комнате Android

#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’. Большое спасибо!