/ / C'è un modo per usare il mapper datastax di Cassandra con ereditarietà? - java, cassandra, datastax-java-driver

C'è un modo per usare il mapper datastax di Cassandra con ereditarietà? - java, cassandra, datastax-java-driver

sto usando cassandra java datastax 2.1; Ho cercato di usare la sua classe mapper per salvare una classe che è sottoclasse di qualche altra classe, e sto avendo difficoltà a capirlo.

Quello che ho trovato finora è se classB è una sottoclasse di classAe se sto cercando di salvare classB utilizzando il mapper quindi:

  1. Tutti i campi delle chiavi di partizione dovrebbero essere nella sottoclasse i.e classB.
  2. Solo i campi in classB sono stati salvati

Sto facendo qualcosa di sbagliato o non c'è modo di usare l'ereditarietà con Java datastax autista?

risposte:

7 per risposta № 1

Ho anche fatto questa domanda qui: Datastax Cassandra - Ereditarietà durante l'utilizzo di object mapper

Ho trovato una soluzione che ho proposto nel rispettivo ticket: https://datastax-oss.atlassian.net/browse/JAVA-541

Pertanto è necessario importare il com.datastax.driver.mapping.AnnotationParser classificare il tuo progetto (ignorando la classe esistente) e cambiare la linea 74

 for (Field field : entityClass.getDeclaredFields())

a

for (Field field : entityClass.getFields())

Se questa è una soluzione buona, a prova di proiettile o di lunga durata, non posso prometterlo, ma per il mio caso di utilizzo ha funzionato.

Se sei interessato a un'implementazione ufficiale di tale funzione, aumenta il prezzo del biglietto (https://datastax-oss.atlassian.net/browse/JAVA-541).