ja używam cassandra java datastax 2.1
; Próbowałem użyć jego klasy odwzorowującej, aby zapisać klasę, która jest podklasą innej klasy i trudno mi to rozgryźć.
Jak dotąd znalazłem, jeśli classB
jest podklasą classA
, a jeśli próbuję zapisać classB
używając mapera:
- Wszystkie pola kluczy partycji powinny znajdować się w podklasie, tj
classB
. - Tylko pola w
classB
są uratowani.
Czy robię coś źle, czy nie ma sposobu na wykorzystanie dziedziczenia w Javie datastax
kierowca?
Odpowiedzi:
7 dla odpowiedzi № 1Zadałem również to pytanie tutaj: Datastax Cassandra - Dziedziczenie podczas korzystania z mapowania obiektów
Znalazłem rozwiązanie, które zaproponowałem w odpowiednim bilecie: https://datastax-oss.atlassian.net/browse/JAVA-541
Dlatego musisz zaimportować plik com.datastax.driver.mapping.AnnotationParser
klasy do twojego projektu (przesłaniając istniejącą klasę) i zmień wiersz 74
for (Field field : entityClass.getDeclaredFields())
do
for (Field field : entityClass.getFields())
Jeśli jest to dobre, kuloodporne lub długotrwałe rozwiązanie, nie mogę obiecać, ale w moim przypadku to zadziałało.
Jeśli jesteś zainteresowany oficjalną implementacją takiej funkcji, oceń bilet (https://datastax-oss.atlassian.net/browse/JAVA-541).