Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android firebase使用循环引用持久化数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android firebase使用循环引用持久化数据

Android firebase使用循环引用持久化数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我有一个简单的数据要保存在firebase上 这个数据是我的关系模型的一个域类(我从一个关系模型开始,现在我决定何时迁移到firebase,但有一段时间我会同时处理这两个数据…或者尝试迁移) 若要在firebase上保留新实例,我需要执行以下操作: Map<String, Object> firebase = new HashMap<String, Object>(); firebase.put("raffleDate", this.giveawa

我有一个简单的数据要保存在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);
此字段映射用户与其赠品之间的关系,
UserOnGiveaway
类有一个对
user
Giveaway
的引用,因此当我尝试持久化时,我会得到一个很长的非压缩性错误,我只能猜测是由于循环引用导致堆栈溢出

问题是,我并不真正关心持久化这个字段,在我实际的“混合”架构中,我使用firebase只是为了持久化用户之间共享的数据,单个用户的数据存储在本地android sqlite上

所以我想知道有没有任何方法可以对这个字段进行注释,以迫使firebase忽略它

或者在firebase调用中是否可以设置任何参数来执行此操作

请不要建议
transient
,因为这也会影响我的ORM
请不要建议对域进行更改,因为我正在尝试firebase,在决定之前我不会进行任何结构更改


谢谢

您可以使用字段上的注释或getter/setter方法将其从Firebase SDK的序列化中忽略。

不起作用,现在它只会使应用程序崩溃,不会引发任何错误。。。只是为了让它清楚,oposite操作工作得很好(如果我尝试从firebase加载到我的域类中)
@ToMany(referencedJoinProperty = "raffle")
    @Expose(deserialize = false, serialize = false)
    private List<UserOnGiveaway> attendantsTickets;