Я впервые использую 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.
Можно ли как-нибудь вставить сведения о смене в таблицу смен, как только я вставлю данные о пользователе в таблицу пользователи? Сначала я думал, что это будет обрабатываться с помощью @Embeded, но это создаст столбцы таблицы shift в таблице user, что мне не нужно.
Может ли кто-нибудь помочь мне в том, как я могу справиться с этим в библиотеке сохранения состояния комнаты. То же самое мне придется сделать и для удаления.
Спасибо