如何从房间数据库中删除对象/实体列表?

Ven*_*kat 1 java android android-room

我有一个关于如何删除单个实体或从 Room 数据库中删除所有实体的想法。但我想从房间数据库中删除实体列表,但没有找到任何解决方案。

我已经尝试过这些代码但不起作用。

@Delete(entity = CollectionData.class)
void deleteList(List<CollectionData> collectionDataList);
Run Code Online (Sandbox Code Playgroud)

和

@Delete
void deleteList(List<CollectionData> collectionDataList);
Run Code Online (Sandbox Code Playgroud)

这些代码都不起作用。任何帮助...

Nit*_*rma 7

你上面写的应该有效。你能回答下面的问题吗?

  1. CollectionData 是否用@Entity 注解?
  2. 您是否为实体类定义了主键?
  3. 当您调用此删除方法时,请确保您传递的对象具有该主键。

你也可以发布你的实体类吗?

作为解决方法,您还可以执行以下操作:

@Query("delete from tableName where id in (:idList)")
fun deleteDataById(idList: List<Int>) 
Run Code Online (Sandbox Code Playgroud)