我正在制作一个应用程序,我使用房间作为数据库缓存,并使用retrofit2从服务器获取数据并将其保存在房间数据库中,但从服务器获取数据后无法插入房间数据库。
这是我的 pojo 类:
@Entity(tableName = "Users")
public class User {
@NonNull
@PrimaryKey
@SerializedName("_id")
private String _id;
@ColumnInfo(name = "name")
@SerializedName("name")
@Expose
private String name;
@ColumnInfo(name = "age")
@SerializedName("age")
@Expose
private String age;
public User(){}
public User(@NonNull String _id,String name, String age) {
this._id = _id;
this.name = name;
this.age = age;
}
@NonNull
public String get_id() {
return _id;
}
public void set_id(@NonNull String _id) {
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
JSON 响应
[
{
"id": "5cf68fe7b439470017236249",
"name": "Rhea",
"age": "2"
},
{
"id": "5d09006696a8470cbc7c34a2",
"name": "Don",
"age": "10"
},
{
"id": "5d092d9858af5d22a80858bf",
"name": "Roman",
"age": "30"
},
{
"id": "5d09e9976f3bad18b8fa54a0",
"name": "Roman",
"age": "30"
},
{
"id": "5d09ea2ac127bd07b4b64f6f",
"name": "Roman",
"age": "30"
}
]
请有人告诉我发生了什么问题。任何帮助将不胜感激。
最佳答案
chnage
@NonNull
@PrimaryKey
@SerializedName("_id") // key does not match with response key
private String _id;
to
@NonNull
@PrimaryKey
@SerializedName("id")
private String _id;
关于java - 在房间数据库中插入用户时显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269018/