【发布时间】:2018-03-28 17:41:11
【问题描述】:
这是我第一次使用 Room。我有一堂课叫:
@Entity(tableName = "users")
class User{
@PrimaryKey
@ColumnInfo(name = "id")
@SerializedName("id")
String id;
@ColumnInfo(name = "name")
@SerializedName("name")
String name;
@SerializedName("shift")
@Ignore
List<Shift> shifts;
}
@Entity(tableName = "shifts")
class Shift{
@PrimaryKey
@ColumnInfo(name = "id")
@SerializedName("id")
String id;
@ColumnInfo(name = "start_time")
@SerializedName("start_time")
String startTime;
@ColumnInfo(name = "end_time")
@SerializedName("end_time")
String endTime;
}
我希望这两个在数据库中是单独的表,因此我不能使用 @Embedded 注释,因为它将使用所有字段作为列创建一个表。我也在使用上面的 User 类来存储来自服务器的 json 响应,我在其中获取用户并在 json 对象中转移详细信息。
在 users 表中插入用户详细信息后,有什么方法可以在 shifts 表中插入 Shift 详细信息?我最初认为这将使用 @Embeded 来处理,但这会在 user 表中创建我不想要的 shift 表列。
有人可以帮助我了解我应该如何在 Room Persistence Library 中处理这个问题。我也必须为删除做类似的事情。
谢谢
【问题讨论】:
-
您是否将 User 和 Shift Data 放在一起作为响应?
-
@BurhanuddinRashid 是的
-
请为您得到的响应和插入的 Dao 类发布代码
标签: android android-sqlite android-room