Как динамически (в коде) создавать и работать с несколькими таблицами, хранящими объекты одного и того же типа в базе данных Android Room? - PullRequest
0 голосов
/ 27 мая 2020

Насколько мне известно, для объявления базы данных в Room имена таблиц должны быть указаны вручную в коде: @Database(entities = {Item.class}, version = 1, exportSchema = false). Здесь entities - имя моей таблицы, в которой хранятся объекты типа Item. В приложении я хочу, чтобы пользователь мог создавать, вставлять, изменять и удалять списки Item, и эти списки хранились как отдельные таблицы в базе данных.

Я спрашиваю об этом, потому что пока единственная альтернатива Я могу придумать, как хранить каждый объект в одной таблице и добавить текстовый столбец, в котором будет храниться имя «таблицы», которому он принадлежит. Однако мне это не кажется идеальным, поскольку одна таблица может стать большой, изменение имени элемента / таблицы будет означать обновление каждой строки с этим именем, больше данных будет использоваться для хранения, должны быть написаны дополнительные запросы и так далее. Так что я бы предпочел избежать этого, если кто-то не предложит лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...