2

Ich habe versucht, die Liste der Artikel aus einer Produkttabelle von db auf id search.there Ich habe eine UDT-Spalte in der Produkttabelle hinzugefügt.UDT error- pageCount ist kein Feld in diesem UDT definiert

try 
{ 
    final List<Row> rows = session.execute(boundStatement.bind(pId, pmyTime)).all(); 
    if (!rows.isEmpty()) 
    { 
    productDataList = ProductMapper.extractResult(rows, myBomObjMapper); 
    } 
} 

in Init-Methode -

public void init(){ 

     session = cassandraSessionFactory.getSession(); 
     myObjMapper = new MappingManager(session).udtMapper(BomObject.class); 

}

Ich war immer eine Ausnahme

 java.lang.IllegalArgumentException: pageCount is not a field defined in this UDT 

, was mache ich falsch?

+0

Wir benötigen mehr Informationen, um Ihnen zu helfen. Was ist dein Schema? Wie haben Sie diesen UDT definiert? Wie sieht der Mapper aus? –

Antwort

0

Dort habe ich eine UDT-Spalte in der Produkttabelle hinzugefügt.

Haben Sie die Spalte als ALTER TYPE cql Befehl abgeben ?:

myObjMapper = new MappingManager(session).udtMapper(BomObject.class); 

Aufruf Wenn das der Fall ist, was wahrscheinlich passiert ist, dass Ihr UDTMapper zu einem UserType einen schalen Bezug hat, dass hat den UDT zu dem Zeitpunkt dargestellt, zu dem Sie Ihren Mapper erstellt haben. Es sieht nicht so aus, als ob der Datenastaxtreiber diese Referenz aktualisiert. Ich sehe ein Jira-Ticket mit einer ähnlichen Fehlermeldung (JAVA-1126). Ich werde das Ticket kommentieren und fragen, ob dies etwas ist, das unterstützt werden sollte.