如何将我的数据对象传递给 DAO 并访问 Query 中的所有数据对象属性?
How do I pass my Data object to DAO and access all data object properties in Query?
我有一个简单的数据对象,我想将其插入到房间数据库中,但由于我在主键上使用了自动递增,所以我按如下方式进行操作
@Dao
interface T1Dao {
@Query("INSERT INTO tbl_t1(data1, data2) VALUES ( :T1.data1, :T1.data2) ")
fun insert(note: T1): Long
}
我在 T1 中有很多属性,所以如果可能我不想单独传递它们。
在上面的示例中,我只显示了两个属性。
但是您可以只使用@Insert 而不设置您的主键字段,对吗?
@Insert
fun insert(note: T1): Long
假设您有 T1 class:
@Entity
data class T1(
@PrimaryKey(autoGenerate = true)
val id: Int = 0, // This lets you not to set id before inserting
val data1: String,
val data2: String
)
然后你可以插入:
dao.insert(T1(data1 = "data1", data2 = "data2")) // just don't set id
我有一个简单的数据对象,我想将其插入到房间数据库中,但由于我在主键上使用了自动递增,所以我按如下方式进行操作
@Dao
interface T1Dao {
@Query("INSERT INTO tbl_t1(data1, data2) VALUES ( :T1.data1, :T1.data2) ")
fun insert(note: T1): Long
}
我在 T1 中有很多属性,所以如果可能我不想单独传递它们。 在上面的示例中,我只显示了两个属性。
但是您可以只使用@Insert 而不设置您的主键字段,对吗?
@Insert
fun insert(note: T1): Long
假设您有 T1 class:
@Entity
data class T1(
@PrimaryKey(autoGenerate = true)
val id: Int = 0, // This lets you not to set id before inserting
val data1: String,
val data2: String
)
然后你可以插入:
dao.insert(T1(data1 = "data1", data2 = "data2")) // just don't set id