【问题标题】:Is there any way to use Cassandra datastax mapper with inheritance?有什么方法可以将 Cassandra datastax 映射器与继承一起使用?
【发布时间】:2015-10-06 00:14:36
【问题描述】:

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

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

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

是我做错了什么还是无法通过 Java datastax 驱动程序使用继承?

【问题讨论】:

    标签: java cassandra datastax-java-driver


    【解决方案1】:

    我也在这里问过这个问题: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)。

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      • 2014-08-22
      • 2016-09-27
      相关资源
      最近更新 更多