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