编程语言
首页 > 编程语言> > java – hazelcast如何在其地图中存储对象之间的数据关系?

java – 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);

然后我把a1和b1放到了淡褐色地图上. hazelcast如何存储这样的嵌套结构.如果我从hazelcast中提取数据:a1,我可以获得嵌套的b1吗?如果是这样,那么我应该有权访问包含b1的a1,然后b1有a1 ……那么……是否有可能进行诽谤为这个无休止的嵌套做序列化工作?就像无限递归一样..

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

解决方法:

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

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

标签:java,serialization,hazelcast
来源: https://codeday.me/bug/20190629/1327025.html