有没有办法通过继承使用 Cassandra datastax 映射器?

Is there any way to use Cassandra datastax mapper with inheritance?

我正在使用cassandra java datastax 2.1;我一直在尝试使用它的映射器 class 来保存一个 class,它是其他 class 的子 class,我很难弄清楚。

到目前为止我发现如果 classBclassA 的子 class,并且如果我试图使用映射器保存 classB 那么:

  1. 所有分区键字段都应在子class中,即classB
  2. 仅保存 classB 中的字段。

我是不是做错了什么,或者没有办法使用 Java datastax 驱动程序的继承?

我也在这里问过这个问题:

我找到了我在相应工单中提出的解决方案: https://datastax-oss.atlassian.net/browse/JAVA-541

因此您需要将 com.datastax.driver.mapping.AnnotationParser class 导入您的项目(覆盖现有的 class)并更改第 74 行

 for (Field field : entityClass.getDeclaredFields()) 

for (Field field : entityClass.getFields()) 

如果这是一个好的、防弹的或持久的解决方案,我不能保证,但对于我的用例,它完成了工作。

如果您对此类功能的官方实施感兴趣,请投票 (https://datastax-oss.atlassian.net/browse/JAVA-541)。