/ / Czy istnieje sposób użycia mapera datastaxów Cassandra z dziedziczeniem? - java, cassandra, datastax-java-driver

Czy istnieje sposób na wykorzystanie mapera danych Cassandra z dziedziczeniem? - java, cassandra, datastax-java-driver

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:

  1. Wszystkie pola kluczy partycji powinny znajdować się w podklasie, tj classB.
  2. 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 № 1

Zadał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).