我正在使用cassandra java datastax 2.1
;我一直在尝试使用其mapper类保存一个类,该类是其他类的子类,而我很难解决这一问题。
到目前为止,我发现的是classB
是classA
的子类,并且如果我尝试使用mapper保存classB
,则:
classB
。 我是在做错什么,还是没有办法在Java
classB
驱动程序中使用继承? 最佳答案
我也在这里问了这个问题: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)投票。