【发布时间】:2018-11-26 11:36:06
【问题描述】:
我遇到了一些来自 Room Library 的编译时错误问题。
我正在使用版本:2.1.0-alpha02
以下道导致错误:
@Dao()
public interface WorkoutExerciseDao {
[......]
@Update()
Single<Integer> updateWorkout(final WorkoutExercise... workoutExercises);
@Delete
Single<Integer> deleteWorkouts(final WorkoutExercise... user);
@Query("DELETE FROM workout_exercise_table WHERE id IN(:exerciseIds)")
Single<Integer> deleteWorkouts(final long... exerciseIds);
}
目前第一个@Delete 注释方法可以正常编译并按预期工作。如果我添加第二个(在查询方法中删除)它会破坏编译并出现错误:
删除方法必须返回 void 或返回 int( 删除的行)。
我错过了什么吗?
【问题讨论】:
-
这里是单一的
@Delete-annotated 方法。 “第二”是什么意思? -
我指的是包含 DELETE 语句的查询。抱歉,应该更清楚一点
-
我认为 Room 的 RxJava 代码生成不够智能,无法将
@Query和DELETE方法适配到Single<Integer>。您是否尝试将其更改为int或Integer? -
只是想知道当我返回 Single
时删除注释方法发生了同样的错误。所以它似乎确实能够为 Delete 方法映射那些 -
是的,似乎并没有期望
Long、Short和Byte
标签: android android-room