hazelcast如何在其地图中存储对象之间的数据关系?

时间:2013-05-31 07:39:25

标签: java serialization hazelcast

假设我们将下面的对象存储在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);

然后我将a1b1放到了淡褐色地图上。 hazelcast如何存储这样的嵌套结构。如果我从hazelcast中提取数据:a1,我是否可以获得嵌套b1?如果是,那么我应该可以访问包含a1的{​​{1}},然后{ {1}}有b1 ...然后..... hazelcast是否有可能为这个无限的嵌套做序列化工作?就像无限递归一样..

为了使问题更简单,如果我将上面的数据存储在淡褐色地图中,我可以获得原始数据与我刚刚推送的关系吗?

1 个答案:

答案 0 :(得分:3)

只要一切都是Serializable,是的,它就像魔术一样:)

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