Android Room Persistence library entity with AutoV

2019-03-25 07:08发布

Is it possible to use both Room persistence library's @Entity with AutoValue's @AutoValue and builder on the same POJO? How should i do it?

4条回答
Emotional °昔
2楼-- · 2019-03-25 07:51

Released in 2.1.0-alpha01!

Note that you have to add the @CopyAnnotations annotation for it to work

Auto Value: Room now supports declaring AutoValue annotated classes as entities and POJOs. The Room annotations @PrimaryKey, @ColumnInfo, @Embedded and @Relation can now be declared in an auto value annotated class’ abstract methods. Note that these annotation must also be accompanied by @CopyAnnotations for Room to properly understand them.

see the release notes

查看更多
虎瘦雄心在
3楼-- · 2019-03-25 07:54

AFAIK, as of 1.0.0-alpha3, this is not possible. Room wants fields; AutoValue doesn't expose fields. Keep tabs on this feature request for progress in this area.

查看更多
淡お忘
4楼-- · 2019-03-25 07:55

Following this task, apparently they added support. I assume it will be possible in the future Room release (probably androidx.room version 2.0.0). Still not merged as part of 2.0.0-beta1 though

查看更多
看我几分像从前
5楼-- · 2019-03-25 08:08

This feature will be available in Room 2.1.0 https://issuetracker.google.com/issues/62408420#comment27

查看更多
登录 后发表回答