我对使用房间持久性并不陌生,每当我尝试运行代码时都会遇到此错误。编辑时它没有显示错误,但是我在gradle上出现了构建错误。我不得不复制粘贴代码令我失望,但似乎都没有。错误低于
error: An entity must have at least 1 field annotated with @PrimaryKey
我该如何解决? 我的代码在下面;
package com.revosleap.dummy.DatabaseMov;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.Ignore;
import android.arch.persistence.room.PrimaryKey;
@Entity
public class TodoListItem {
@Ignore
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "time")
private String time;
@ColumnInfo(name="title")
private String title;
public TodoListItem(){
}
public TodoListItem(String time, String title) {
this.time = time;
this.title = title;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
答案 0 :(得分:4)
答案 1 :(得分:2)
您不应将@Ignore与@PrimaryKey一起使用
@忽略注释从Room的处理中忽略标记的元素 逻辑。