插入某個物體時如何忽略主鍵?
房間物體必須有超過 1 個主鍵。
例如,下面有一個物體。
@Entity(primaryKeys = ["id"], tableName = "someEntity")
data class SomeEntity(
val id: Int = 0,
val someClass: SomeClass<*>? = null
)
@Insert(onConflict = OnConflictStrategy.REPLACE)
abstract fun insert(obj: SomeClass): Completable
引數“obj”將有兩列(欄位)。
當我有這樣的插入邏輯時,
我是否必須關心id(使用 autoGenerate 注釋)列?
SomeEntity當我用 dao插入時,
我只能得到SomeClass<*>?型別,沒有id: Int. 列上的注釋可以解決我的問題嗎
?@AutoGenerateid
uj5u.com熱心網友回復:
Room了解val id: Int = 0它是否用@PrimaryKey 標記為插入時要忽略的值。
@Entity
data class SomeEntity(
@PrimaryKey(autoGenerate = true)
val id: Int = 0,
val someClass: SomeClass<*>? = null
)
并且在創建新實體時SomeEntity(someClassInstance)完全沒問題。
注意:如果SomeClass不是 SQL 能夠保存的基本類,則需要有某種方法對其進行序列化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524115.html
上一篇:按下后更改色調影像按鈕
