是否可以在同一个 POJO 上同时使用Room persistence library和AutoValue和builder?我该怎么做?@Entity
@AutoValue
5 回答
AFAIK,截至1.0.0-alpha3
,这是不可能的。房要田;AutoValue 不公开字段。密切关注此功能请求以了解该领域的进展。
此功能将在 Room 2.1.0 中提供 https://issuetracker.google.com/issues/62408420#comment27
发布于 2.1.0-alpha01!
请注意,您必须添加 @CopyAnnotations 注释才能使其工作
Auto Value:Room 现在支持将带有 AutoValue 注释的类声明为实体和 POJO。Room 注释 @PrimaryKey、@ColumnInfo、@Embedded 和 @Relation 现在可以在自动值注释类的抽象方法中声明。请注意,这些注释还必须附有 @CopyAnnotations 以便 Room 正确理解它们。
在这项任务之后,显然他们增加了支持。我认为在未来的 Room 版本(可能是 androidx.room 版本 2.0.0)中它是可能的。虽然仍然没有合并为 2.0.0-beta1 的一部分
现在可以使用 Room 数据库 2.1.0。
您可以通过使用@PrimaryKey、@ColumnInfo、@Embedded 和@Relation 注释抽象类方法来实现这一点。抽象类必须用@Autovalue 注释。