Итак, у меня есть настроенная база данных комнаты, все в порядке, поэтому я могу делать запросы и вставки, удалять и т. Д. Без проблем, однако я просто столкнулся с ситуацией, когда id хотел бы возвращать записи по их идентификаторам и дубликатам.должно быть разрешено, однако номер удаляет дубликаты, поэтому, например, я отправляю ему список идентификаторов, скажем, <1,2,3,2,3>, и он возвращает элементы по их идентификаторам, но отправляет только <1,2,3.> удаление повторяющихся записей.Запрос, который я делаю, ниже (кстати, полный noob в sql)
@Query("SELECT * FROM card WHERE cardId IN(:cardId)")
LiveData<List<Card>> getCardsByIds(List<Integer> cardId);
Я использую его через репозиторий, который я создал (просто уровень абстракции), и вызываю этот репозиторий из ViewModel, эта ViewModel имеетизменяемый список целых данных в реальном времени, содержащий идентификаторы и используя SwitchMap. Я получаю последние данные в реальном времени.я включу соответствующие части ниже
CARD REPO вызывает мой метод Daos, как этот
public LiveData<List<Card>> getCardsByIds(List<Integer> cardIds){
return cardDao.getCardsByIds(cardIds);
}
ViewModel вызывает их
private MutableLiveData<List<Integer>> cardIds;
//** constructor etc
cards = Transformations.switchMap(cardIds, id -> cardRepository.getCardsByIds(id));
и через магию SwitchMap, когдаОбновление списка cardIds делает новый запрос, и я наблюдаю ViewModel из моего фрагмента.Я отладил его, поэтому я знаю, что список идентификаторов правильный и содержит дубликаты идентификаторов, но в возвращенном списке LiveData отсутствуют дубликаты идентификаторов.любая помощь?