android - 如何创建没有主键的实体的新实例?
问题描述
抱歉,这是一个愚蠢的问题。我正在尝试熟悉 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)
先感谢您!
解决方案
你可以创建另一个带有@Ignore
注解的构造函数,这样它就会被 Room 忽略:
@Ignore
constructor(var linkUrl: String?, timestamp: Long?) : this (null, linkUrl, timestamp)
如果您传递null
自动生成的字段,它将自动生成新值。
推荐阅读
- amazon-ec2 - aws_security_group - 条件入口
- hadoop - 文件在 HDFS 中创建但无法写入内容
- java - Ghost4J 提取 pdf
- java - Accesor 方法未从 mutator 方法接收 var
- ios - SwiftUI - 状态栏文本下方的列表滚动
- .net - 当前不会命中断点。在 dll 文件中找到文件的副本(visual studio community 2019)
- c++ - OpenCV:未解析的外部符号
- python - 比较布尔值的两个数据框列
- python - 为什么我会看到这样损坏的包名称,我该如何修复它?
- python - 如何自定义 QCalendarWidget?