如何创建没有主键的实体的新实例?

and*_*ast 4 mobile android kotlin

抱歉,这是一个愚蠢的问题。我试图熟悉 Kotlin 并遇到了一个问题。我有一个 kotlin 应用程序,我使用 Room 存储数据。

这是我的实体类:

@Entity
data class Link(@PrimaryKey(autoGenerate = true) var _id: Int,
        @ColumnInfo(name = "link_url") var linkUrl: String?,
        @ColumnInfo(name = "timestamp") var timestamp: Long?)
Run Code Online (Sandbox Code Playgroud)

如何在Link不指定 的情况下创建新实例_id

IE

var link: Link = Link("url", 12334)

先感谢您!

Ang*_*ina 6

您可以使用@Ignore注释创建另一个构造函数,以便 Room 忽略它:

@Ignore
constructor(var linkUrl: String?, timestamp: Long?) : this (null, linkUrl, timestamp)
Run Code Online (Sandbox Code Playgroud)

如果您null为自动生成的字段传递,它将自动生成新值。