Memcached 如何在ApacheIgnite中创建对象关联?

Memcached 如何在ApacheIgnite中创建对象关联?,memcached,ignite,Memcached,Ignite,我是Apache Ignite的初学者。我有3个java类ClassA、ClassB和ClassC ClassA{ int idA; //unique String stringA; public ClassA(){} public ClassA(int idA,String stringA){ this.idA=idA; this.stringA=strin

我是Apache Ignite的初学者。我有3个java类ClassA、ClassB和ClassC

ClassA{ 
        int idA; //unique
        String stringA; 
        public ClassA(){} 
        public ClassA(int idA,String stringA){ 
                this.idA=idA; 
                this.stringA=stringA; 
        } 
        public int getidA(){ 
                return idA; 
        } 
        public String getstringA(){ 
                return stringA; 
        } 
} 

ClassB{ 
        int idB; //unique
        String stringB; 
        public ClassB(){} 
        public ClassB(int idB,String stringB){ 
                this.idB=idB; 
                this.stringB=stringB; 
        } 
        public int getidB(){ 
                return idB; 
        } 
        public String getstringB(){ 
                return stringB; 
        } 
} 

ClassC{ 
        int idC,idB; //idC unique. idB from ClassB
        String stringC; 
        public ClassC(){} 
        public ClassB(int idB,int idC,String stringC){ 
                this.idB=idB; 
                this.idC=idC; 
                this.stringC=stringC; 
        } 
        public int getidC(){ 
                return idC; 
        } 
        public String getstringC(){ 
                return stringC; 
        } 
} 
让我举个例子。我想要复制模式下的ClassA和分区模式下的B&C。C类与B类相关。ClassB的id存在于ClassC中(就像外键一样)。比如说,我有3个节点,30个ClassA对象,30个ClassB对象和30个ClassC对象。它们分布在如下节点中

Node 1 => ClassA->30, ClassB->10,ClassC->8 
Node 2 => ClassA->30, ClassB->5,ClassC->3 
Node 3 => ClassA->30, ClassB->15,ClassC->19

与ClassB相关的ClassC对象应该出现在同一个节点中。我知道有一些机制,但我不知道如何实现这一点

您所需要做的就是根据类B的ID将类C与类B并置。在这一过程中,被称为亲和性并置,详细描述如下:

特别是,在您的情况下,应该将注释附加到ClassC.idB字段

此外,有关分区和复制缓存的更多信息,请参见此处:

以这种方式配置缓存后,还可以使用SQL查询缓存,包括分布式SQL联接。有关SQL的更多信息,请参见:

您所需要做的就是根据类B的ID将类C与类B并置。在这一过程中,称为亲和性并置,详细描述如下:

特别是,在您的情况下,应该将注释附加到ClassC.idB字段

此外,有关分区和复制缓存的更多信息,请参见此处:

以这种方式配置缓存后,还可以使用SQL查询缓存,包括分布式SQL联接。有关SQL的更多信息,请参见:

已经看过了。发布了该问题,因为我无法解决它。您应该将@AffinityKeyMapped注释附加到ClassC.idB字段。这是javadoc:已经看过了。发布了该问题,因为我无法解决它。您应该将@AffinityKeyMapped注释附加到ClassC.idB字段。以下是javadoc: