是否可以在同一个POJO上同时使用Room persistence library的@Entity
与AutoValue的@AutoValue
和构建器?我该怎么办?
答案 0 :(得分:14)
AFAIK,截至1.0.0-alpha3
,这是不可能的。房间想要田地; AutoValue不会公开字段。密切关注this feature request以了解此领域的进展情况。
答案 1 :(得分:3)
此功能将在2.1.0会议室中提供 https://issuetracker.google.com/issues/62408420#comment27
答案 2 :(得分:0)
完成此任务后,他们显然增加了支持。我认为将来的Room版本(可能是androidx.room版本2.0.0)可能会出现这种情况。 仍然没有合并为2.0.0-beta1的一部分
答案 3 :(得分:0)
发布于2.1.0-alpha01!
请注意,您必须添加@CopyAnnotations批注才能使其正常工作
自动值:现在,Room支持将带自动值注释的类声明为实体和POJO。现在可以在带有自动值注释类的抽象方法中声明Room注释@ PrimaryKey,@ ColumnInfo,@ Embedded和@Relation。请注意,这些注释还必须带有@CopyAnnotations以便Room正确理解它们。
答案 4 :(得分:0)
现在可以使用 Room 数据库 2.1.0。
您可以通过使用@PrimaryKey、@ColumnInfo、@Embedded 和@Relation 注释抽象类方法来实现这一点。抽象类必须用@Autovalue 注释。