/ / Existe alguma maneira de usar o mapeador de dados Cassx com herança? - java, cassandra, datastax-java-driver

Existe alguma maneira de usar o mapeador de datastax Cassandra com herança? - java, cassandra, datastax-java-driver

estou usando cassandra java datastax 2.1; Eu tenho tentado usar sua classe de mapeador para salvar uma classe que é subclasse de alguma outra classe, e estou tendo dificuldade para descobrir isso.

O que eu encontrei até agora é se classB é subclasse de classAe se estou tentando salvar classB usando o mapper então:

  1. Todos os campos das chaves de partição devem estar na subclasse, ou seja, classB.
  2. Somente os campos em classB estão sendo salvos.

Estou fazendo algo errado ou não há como usar a herança com Java datastax motorista?

Respostas:

7 para resposta № 1

Eu também fiz essa pergunta aqui: DataStax Cassandra - Herança ao usar o mapeador de objetos

Encontrei uma solução que propus no respectivo ticket: https://datastax-oss.atlassian.net/browse/JAVA-541

Portanto, você precisa importar o com.datastax.driver.mapping.AnnotationParser classe para o seu projeto (substituindo a classe existente) e altere a linha 74

 for (Field field : entityClass.getDeclaredFields())

para

for (Field field : entityClass.getFields())

Se essa é uma solução boa, à prova de balas ou duradoura, não posso prometer, mas, no meu caso de uso, ele fez o trabalho.

Se você estiver interessado em uma implementação oficial desse recurso, faça uma votação positiva no ticket (https://datastax-oss.atlassian.net/browse/JAVA-541).