我有一个POJO,其中包含内部POJO。我想将此POJO保存到数据库中,并且在应用程序中使用Room。
请参考this,我可以使用@Embedded
将内部POJO插入主POJO中,而无需为此创建新表。
这是我的方法:
@Entity
data class Article constructor(
@PrimaryKey(autoGenerate = true)
var id: Long,
@SerializedName("author") var author: String?,
@SerializedName("title") var title: String?,
@SerializedName("description") var description: String?,
@SerializedName("url") var url: String?,
@SerializedName("urlToImage") var urlToImage: String?,
@SerializedName("publishedAt") var publishedAt: String?,
@SerializedName("content") var content: String?,
@Embedded @SerializedName("source") var source :Source
) {
var atricleAuthor = "Author: $author"
}
class Source constructor(
@SerializedName("id") var sourceId: String?,
@SerializedName("name") var sourceNname: String?
)
但是我遇到了这个错误:
error: Entity class must be annotated with @Entity
public final class Source {
^
我不知道哪里做错了。