我有一个简单的数据要保存在Firebase上。
此数据是我的关系模型的域类(我从一个关系模型开始,现在我决定是否迁移到firebase,但有一段时间我同时使用...或尝试迁移)
如果我的类在firebase上,要保留新实例,我需要这样做:
Map<String, Object> firebase = new HashMap<String, Object>();
firebase.put("raffleDate", this.giveaway.getRaffleDate());
firebase.put("thumbnailUrl", this.giveaway.getThumbnailUrl());
firebase.put("mustFollowList", this.giveaway.getMustFollowList());
firebase.put("owner", this.giveaway.getOwner());
firebase.put("amountFriendsToIndicate", this.giveaway.getAmountFriendsToIndicate());
firebase.put("mediaId", this.giveaway.getMediaId());
((App) getApplication()).getFirebase().child("giveaways").child(this.giveaway.getMediaId()).setValue(firebase);
因为除了这些字段Giveaway
之外还有一个字段本身具有循环引用
@ToMany(referencedJoinProperty = "raffle")
@Expose(deserialize = false, serialize = false)
private List<UserOnGiveaway> attendantsTickets;
此字段映射了用户与其赠品之间的关系,UserOnGiveaway
类引用了User
和Giveaway
,因此当我尝试坚持时,会出现很长的非补偿性错误,我只能猜测是由于循环引用引起的stackoverflow
问题是我对保留此字段并没有真正的兴趣,在我实际的“混合”体系结构中,我仅使用Firebase来保留用户之间共享的数据,单个用户数据存储在android sqlite上本地
所以我想知道有什么方法可以注释此字段以强制Firebase忽略它吗?
或者在firebase调用上可以设置任何参数吗?
请不要建议transient
,因为它也会影响我的ORM
PLEASE2不建议在域上进行更改,因为我正在尝试启用Firebase,因此在决定使用它之前不会进行任何结构上的更改。
谢谢