UDT error- pageCount不是此UDT

时间:2016-05-22 19:12:18

标签: spring datastax cassandra-2.0 datastax-java-driver spring-data-cassandra

我试图在id search上从db获取产品表中的item列表。我在产品表中添加了一个UDT列。

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

在Init方法中 -

    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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

  

我在产品表中添加了一个UDT列。

在调用?:

之后,您是否将该列添加为ALTER TYPE cql命令?
myObjMapper = new MappingManager(session).udtMapper(BomObject.class);

如果是这种情况,可能发生的事情是UDTMapper在构建映射器时对代表UDT的UserType有陈旧的引用。它看起来不像datastax驱动程序将更新此引用。我看到一张带有类似错误消息的jira票证(JAVA-1126)。我会评论那张票,询问这是否应该得到支持。