2

idテーブル上のdbテーブルから商品テーブルから商品リストを取得しようとしました。商品テーブルにUDTカラムを追加しました。 InitメソッドでUDTエラー - pageCountはこのUDTで定義されているフィールドではありません

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

-

public void init(){ 

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

}

私は私が間違って何をやっている例外に

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

を得ていましたか?

+0

あなたに役立つ情報がさらに必要です。あなたのスキーマは何ですか?あなたはそのUDTをどのように定義しましたか?マッパーはどのように見えますか? –

答えて

0

ここでは、製品表にUDT列を追加しました。

あなたが呼び出した後ALTER TYPE CQLコマンドとして列を追加しました?:

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

をそれはおそらく何が起こっているかそうである場合は、あなたのUDTMapperがそのUserTypeへの古い参照を持っているということですあなたのマッパーを構築した時点でUDTを表していました。 datastaxドライバがこのリファレンスを更新するようには見えません。私は、同様のエラーメッセージ(JAVA-1126)を持つjiraチケットが表示されます。そのチケットが、これがサポートされるべきものかどうかを尋ねるコメントをします。

関連する問題