Как я могу использовать Android-комнату, чтобы вставить вложенные объекты в отдельный объект таблицы? Я не хочу, чтобы вложенный объект был @Embedded - PullRequest
0 голосов
/ 08 ноября 2019

Это сложный объект

@Entity(tableName = "localization_data")
data class LocalizationData (
@PrimaryKey
@ColumnInfo(name = "key")
val key: String,
@ColumnInfo(name = "text")
val texts: Array<TextData>,
@ColumnInfo(name = "last_updated")
val lastUpdated: Date
)

@Entity(
tableName = "text_data",
foreignKeys = arrayOf(ForeignKey(
    entity = LocalizationData::class,
    parentColumns = ["key"],
    childColumns = ["text_id"]
       ))
)
data class TextData(
@PrimaryKey
@ColumnInfo(name = "text_id")
val textId: String,
@ColumnInfo(name = "text")
val text: String,
@Embedded(prefix = "textdata_")
val language: LanguageData
)

TextData также является сущностью, и я хочу, чтобы он был присоединен к LocalizationData и идентифицирован полем key. Я хочу сохранить TextData в таблице LocalizationData, а также в отдельной таблице, когда функция @Insert вызывается из LocalizationDOA. Также я хочу иметь возможность доступа к сущности TextData из TextDOA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...