android 房间非空约束插入失败
android room not null constraint failed on insert
我在我的 android 应用程序中使用改装作为 api 和数据库访问空间。从我的后端接收到的数据如下所示
[{"category_id":8},{"category_name":"Appetizers"},{"category_image":"upload\/images\/1229-2016-08-30.jpg"},{"category_id":5},{"category_name":"Breakfast"},{"category_image":"upload\/images\/6307-2016-08-30.jpg"},{"category_id":2},{"category_name":"Desserts"},{"category_image":"upload\/images\/0062-2016-08-30.jpg"},{"category_id":1},{"category_name":"Drink"},{"category_image":"upload\/images\/9359-2016-08-30.jpg"},{"category_id":4},{"category_name":"Main Dish"},{"category_image":"upload\/images\/2031-2016-08-30.jpg"},{"category_id":3},{"category_name":"Side Dish"},{"category_image":"upload\/images\/3824-2016-08-30.jpg"}]
我的房间实体看起来像这样
@Entity(primaryKeys = ["category_id"])
data class MenuCategories(
@field:SerializedName("category_id")
val category_id: String,
@field:SerializedName("category_name")
val category_name: String,
@field:SerializedName("category_image")
val category_image: String
)
以及我的 dao 如何保存数据
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertMenuCategories(categories: List<MenuCategories>)
但是我收到了这条错误消息
E/SQLiteLog: (1299) abort at 8 in [INSERT OR REPLACE INTO `MenuCategories`(`category_id`,`category_name`,`category_image`) VALUES (?,?,?)]: NOT NULL constraint failed: MenuCategories.category_name
您需要在一个 JsonObject 中添加 category_id
、category_name
、category_image
,如下所示
[
{
"category_id": 8,
"category_name": "Appetizers",
"category_image": "upload\/images\/1229-2016-08-30.jpg"
}, {
.....
}
]
我在我的 android 应用程序中使用改装作为 api 和数据库访问空间。从我的后端接收到的数据如下所示
[{"category_id":8},{"category_name":"Appetizers"},{"category_image":"upload\/images\/1229-2016-08-30.jpg"},{"category_id":5},{"category_name":"Breakfast"},{"category_image":"upload\/images\/6307-2016-08-30.jpg"},{"category_id":2},{"category_name":"Desserts"},{"category_image":"upload\/images\/0062-2016-08-30.jpg"},{"category_id":1},{"category_name":"Drink"},{"category_image":"upload\/images\/9359-2016-08-30.jpg"},{"category_id":4},{"category_name":"Main Dish"},{"category_image":"upload\/images\/2031-2016-08-30.jpg"},{"category_id":3},{"category_name":"Side Dish"},{"category_image":"upload\/images\/3824-2016-08-30.jpg"}]
我的房间实体看起来像这样
@Entity(primaryKeys = ["category_id"])
data class MenuCategories(
@field:SerializedName("category_id")
val category_id: String,
@field:SerializedName("category_name")
val category_name: String,
@field:SerializedName("category_image")
val category_image: String
)
以及我的 dao 如何保存数据
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertMenuCategories(categories: List<MenuCategories>)
但是我收到了这条错误消息
E/SQLiteLog: (1299) abort at 8 in [INSERT OR REPLACE INTO `MenuCategories`(`category_id`,`category_name`,`category_image`) VALUES (?,?,?)]: NOT NULL constraint failed: MenuCategories.category_name
您需要在一个 JsonObject 中添加 category_id
、category_name
、category_image
,如下所示
[
{
"category_id": 8,
"category_name": "Appetizers",
"category_image": "upload\/images\/1229-2016-08-30.jpg"
}, {
.....
}
]