java - 房间错误:不确定如何处理插入方法的返回类型
问题描述
我不明白,我虽然这是获取新插入行的 id 的方法。
道
@Dao
public interface AlarmDao {
.....
@Insert(onConflict = OnConflictStrategy.REPLACE)
long insertAll(AlarmEntity...alarms); //used long instead of void
}
实体
@Entity(tableName = "tb_alarm")
public class AlarmEntity {
@PrimaryKey(autoGenerate = true)
private long id;
...
public long getId(){
return this.id;
}
}
但构建失败,我收到指向我的Dao
班级的错误,错误是:
错误:不确定如何处理插入方法的返回类型。
我错过了什么?
解决方案
AlarmEntity...alarms
这翻译成多个插入。所以返回类型应该是 aList<Long>
或 a long[]
,这是有道理的。如果您传递两个项目,您将获得两个 id,每个新插入的行一个。
如果您想一次只插入 1 个项目,请删除varargs
( ...
)。例如
@Insert
long insert(AlarmEntity alarms);
推荐阅读
- spring - Spring框架中@PropertySource和@DynamicPropertySource的区别
- javascript - 如何将 cshtml 文件中的布尔值传递给 javascript 函数/构造函数?
- java - Java 中的优先级队列(最大堆声明)
- r - 如何使用 R 中预先计算的置信区间使用 geom_smooth 制作平滑置信带/功能区
- apache-kafka - 无法将 MongoDB 作为源连接到 Kafka
- php - 使用 Laravel 对一对多(多态)关系进行排序
- c++ - UE4 playfab 委托因 Null 自定义数据而崩溃
- docusignapi - 多个文档和签名者,嵌入式签名中的文档顺序不正确
- python - 将汤内容转换为结构化 csv
- java - 错误:找不到符号 getSupportFragmentManager().beginTransaction().replace(R.id.container, new HomeFragment()).commit();