Room.
У меня есть две сущности: song и playlist (связь между ними many-to-many).
Чтобы делать выборку со связью, я сделал PlaylistSongCrossRef и PlaylistWithSongs как показано в документации - https://developer.android.com/training/data-storage/room/relationships#many-to-many)
Теперь у меня возникает вопрос, как правильно создавать playlist'ы, как их обновлять (добавлять\удалять song из плейлиста) и т.д.?
Судя по всему я не могу использовать в своей Dao Insert PlaylistWithSongs(который является relation'ом, а не сущностью).
Если бы я делал без room'a, то у меня было бы три таблицы:
songs, playlists, playlistSongs (но я хз во что там Room разворачивает relation'ы).
У меня есть идея завести @Entity CompositionWithSongs(id, compositionId, songId) и не указывать никаких @Relation, @Embedded (сущности вроде и не могут иметь релейшенов в Room), а просто работать с идентификаторами.
я бы тоже послушал рекомендации. Но я пока обхожусь тем, что по id получаю доменную сущность и по каскаду удаляю всё связанное с ней. Мне кажется, так быстрее например
Обсуждают сегодня