Android DAO 添加查询“'@Query not applicable for field”
Android DAO adding a query "'@Query not applicable for field"
这是我为带有参与者列表的房间图书馆创建的 DAO。数据非常简单。
package com.example.tag;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface ParticipantDAO {
@Query("SELECT * FROM Participants ORDER BY Name")
LiveData<List<Participant>> getAllParticipants();
@Query("SELECT * FROM Participants LIMIT 1")
Participant[] getAnyParticipant;
@Insert
void insert(Participant participant);
@Update
void update(Participant participant);
@Delete
void delete(Participant participant);
@Query("DELETE FROM Participants")
void deleteAll();
}
问题出在第二个 @Query
语句 (getAnyParticipant) 上。我收到错误:"'@Query' not applicable to field"
.
我正在尝试根据我的需要修改位于此处的 android 教程(使用参与者而不是文字):https://codelabs.developers.google.com/codelabs/android-training-room-delete-data/index.html?index=..%2F..android-training#2
我做错了什么?
只有方法可以用@Query
注释。在这里,您试图用 @Query
注释 class 字段。你漏掉了一对括号。
这是我为带有参与者列表的房间图书馆创建的 DAO。数据非常简单。
package com.example.tag;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface ParticipantDAO {
@Query("SELECT * FROM Participants ORDER BY Name")
LiveData<List<Participant>> getAllParticipants();
@Query("SELECT * FROM Participants LIMIT 1")
Participant[] getAnyParticipant;
@Insert
void insert(Participant participant);
@Update
void update(Participant participant);
@Delete
void delete(Participant participant);
@Query("DELETE FROM Participants")
void deleteAll();
}
问题出在第二个 @Query
语句 (getAnyParticipant) 上。我收到错误:"'@Query' not applicable to field"
.
我正在尝试根据我的需要修改位于此处的 android 教程(使用参与者而不是文字):https://codelabs.developers.google.com/codelabs/android-training-room-delete-data/index.html?index=..%2F..android-training#2
我做错了什么?
只有方法可以用@Query
注释。在这里,您试图用 @Query
注释 class 字段。你漏掉了一对括号。