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 classA
e se sto cercando di salvare classB
utilizzando il mapper quindi:
- Tutti i campi delle chiavi di partizione dovrebbero essere nella sottoclasse i.e
classB
. - 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 № 1Ho 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).