我正在使用cassandra java datastax 2.1
;我一直在尝试使用它的mapper类来保存一个类,这个类是其他类的子类,我很难搞清楚。
到目前为止,我发现classB
是classA
的子类,如果我尝试使用mapper保存classB
,那么:
classB
。classB
中的字段。我做错了什么或者没有办法在Java datastax
驱动程序中使用继承?
答案 0 :(得分:6)
我在这里也问了这个问题:Datastax Cassandra - Inheritance when using object mapper
我找到了一个我在相应票证中提出的解决方案: https://datastax-oss.atlassian.net/browse/JAVA-541
因此,您需要将com.datastax.driver.mapping.AnnotationParser
类导入项目(覆盖现有类)并更改第74行
for (Field field : entityClass.getDeclaredFields())
到
for (Field field : entityClass.getFields())
如果这是一个好的,防弹的或持久的解决方案我不能保证,但对于我的用例,它完成了这项工作。
如果您对此功能的正式实施感兴趣,可以使用票证(https://datastax-oss.atlassian.net/browse/JAVA-541)。