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 classA
e se estou tentando salvar classB
usando o mapper então:
- Todos os campos das chaves de partição devem estar na subclasse, ou seja,
classB
. - 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 № 1Eu 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).