Inheritance Hazelcast谓词找不到子类属性

Inheritance Hazelcast谓词找不到子类属性,inheritance,predicate,hazelcast,Inheritance,Predicate,Hazelcast,我有一个父类和子类,我将每个类的实例存储在两个独立的同类IMap实例中 这里还有一个CacheManager类,负责缓存操作和管理。所以这个类的方法使用父类实例作为抽象 当我尝试使用SqlPredicate获取项时,它根本无法识别缓存中的子类属性。当我检查缓存项时,所有项都是正确的,但当谓词查询它们时,实例将它们识别为父类实例,因此它无法找到子类上的属性。它以“没有元素as”开头 有什么想法吗 谢谢如果您确定这是一个bug,请打开一个github问题,并将您的源代码添加到其中,以便我们能够重现并

我有一个父类和子类,我将每个类的实例存储在两个独立的同类IMap实例中

这里还有一个CacheManager类,负责缓存操作和管理。所以这个类的方法使用父类实例作为抽象

当我尝试使用SqlPredicate获取项时,它根本无法识别缓存中的子类属性。当我检查缓存项时,所有项都是正确的,但当谓词查询它们时,实例将它们识别为父类实例,因此它无法找到子类上的属性。它以“没有元素as”开头

有什么想法吗


谢谢

如果您确定这是一个bug,请打开一个github问题,并将您的源代码添加到其中,以便我们能够重现并修复该问题,好吗


在我看来,它应该按照您期望的方式工作,但可能有一些简单的问题需要解决。

afaik,查询时,hazelcast正在解析每个条目的属性(即可提取接口)。它使用存储在映射中的实际类。因此,使用抽象类不应影响查询。你能发布一个代码示例和一个异常吗?@JérémieB它实际上非常基本。一个包装类中有这个父类属性,但该实例是一个子类,当我尝试根据子属性使用SqlPredicate查询项时,它说“在类'class com.thu.a.model.cache.ChildCacheItem'上没有合适的'childAttribute'访问器”,并且查询是(4)中的:ChildCacheItem.childAttribute1和(7)中的childCacheItem.childAttribute2。当我用父属性替换属性时,顺便说一句,它是有效的