Я пытаюсь реализовать базу данных Room, используя отношение один ко многим, после Android обучения Room (https://developer.android.com/training/data-storage/room/relationships#one-to-many ).
Однако Я не могу найти способ добавить условие во вторую таблицу.
Например, чтобы извлечь все UserWithPlaylists, для пользователей старше 25 лет и с именами плейлистов, начинающимися с «play», это не работает, потому что Room автоматически не группирует результаты (и предложение GROUP BY
предотвращает создание списка воспроизведения):
@Transaction
@Query("SELECT User.* FROM User, Playlist WHERE User.age > 25 AND Playlist.playlistName LIKE play%")
public List<UserWithPlaylists> getUsersWithPlaylistsSpecific();
Я уже пробовал решения, такие как встраивание одной сущности в другую и использование @Embedded(prefix = "PETS_")
, как предлагается здесь: { ссылка } но безуспешно.
Я также хочу избежать этого метода , используя Java Map.
Как мне этого добиться?