Соотношение один-ко-многим с условиями на обоих столах - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь реализовать базу данных 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.

Как мне этого добиться?

...