我正在尝试定义一个基本接口中的常见CRUD方法,如下所示:
interface BaseDao<in I> {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun create(obj: I)
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun createAll(objects: List<I>)
@Delete
fun delete(obj: I)
}
下面的 ProductDao
接口是基于以下基础接口的 Room 接口:
@Dao
interface ProductDao : BaseDao<Product> {
// Specific methods
}
当我编译 fun createAll(objects: List<I>)
的定义时,出现以下错误:
参数类型必须是一个带有@Entity注释的类或其集合/数组。
I
上用@Entity
进行注释——这就是盒子上写的内容。 - Abhijit SarkarcreateAll()
方法无法正常工作。 - JJD