4

比方说,我们有下面需要存储在 hazelcast 上的对象。

    class A implements Serializable{
       public int id;
       public List<B> incomingBs;
       public A(int x){ this.id=x; }
    }

    class B implements Serializable{
       public int id;
       public List<A> outgoingAs;
       public B(int x){ this.id=x; }
    }
    A a1=new A(1);
    A a2=new A(2);
    B b1=new B(1);
    B b2=new B(2);
    a1.incomingBs.add(b1);
    a1.incomingBs.add(b2);
    b1.outgoingAs.add(a1);
    b1.outgoingAs.add(a2);

然后我把a1and b1up to hazelcast 地图。hazelcast 如何存储这样的嵌套结构。如果我提取数据:a1从 hazelcast 中,我可以得到嵌套的b1吗?如果是这样,那么我应该可以访问a1包含的内容b1,然后......然后.....hazelcast 是否有可能为此做序列化b1工作a1无休止的嵌套?就像无限递归..

为了让问题更简单,如果我将上面的数据存储在 hazelcast 地图中,我可以得到带有我刚刚推送的关系的原始数据吗?

4

1 回答 1

3

只要一切都是可序列化的,是的,它就像魔术一样工作:)

只需transient在不需要此行为的字段上使用。

于 2013-06-04T11:33:55.760 回答