Мне нужно обновить, а если нет, добавьте строку в базу данных ROOM.
Я делаю это: productRepository.updateProducts(productsResponse.getProductItems());
А также:
@Override
public void updateProducts(final List<ProductItem> products) {
new Thread(() -> {
for (ProductItem item : products) {
Product product = createProduct(item);
productDao.insert(product);
}
}).start();
}
И в DAO:
@Insert
void insert(Product products);
Но у меня есть метод
@Update
void update(Product product);
И у меня есть несколько вопросов:
-
оба метода недействительны. Как я могу вернуть сохраненный флаг Product или boolean или вставленный счет после вставки?
-
если я попробую выполнить
update
и у меня нет строки, она будет вставлена? -
Как я могу обновить (если нет - вставить) строку и вернуть счетчик обновления или вставленные строки?