首页 > 解决方案 > 如何创建没有主键的实体的新实例?

问题描述

抱歉,这是一个愚蠢的问题。我正在尝试熟悉 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?)

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

IE

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

先感谢您!

标签: androidmobilekotlin

解决方案


你可以创建另一个带有@Ignore注解的构造函数,这样它就会被 Room 忽略:

@Ignore
constructor(var linkUrl: String?, timestamp: Long?) : this (null, linkUrl, timestamp)

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


推荐阅读