我想针对表格中的项目/行列表更新特定列。一种方法是在更新方法上应用循环,但有没有办法传递项目列表并为所有项更新该列,而不是在循环中进行?
道方法: @Query("UPDATE items SET is_processing=1 WHERE item_id=:id")
public abstract void updateProcessingStatus(String id);
当前更新代码:
public void updateStatusOfList(List<Item> items)
{
for(Item item:items)
myDao.updateProcessingStatus(item);
}
答案 0 :(得分:3)
只需将您的列表作为变量传递到查询中:
@Query("UPDATE items SET is_processing=1 WHERE item_id in (:items) ")
public abstract void updateProcessingStatus(List<String> items);
您可能需要先从“项目”列表中创建字符串列表。