我试图在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
我做错了什么?
答案 0 :(得分:0)
我在产品表中添加了一个UDT列。
在调用?:
之后,您是否将该列添加为ALTER TYPE
cql命令?
myObjMapper = new MappingManager(session).udtMapper(BomObject.class);
如果是这种情况,可能发生的事情是UDTMapper
在构建映射器时对代表UDT的UserType
有陈旧的引用。它看起来不像datastax驱动程序将更新此引用。我看到一张带有类似错误消息的jira票证(JAVA-1126)。我会评论那张票,询问这是否应该得到支持。