Java 检索列表<;blob>;卡桑德拉的例子
我试图将一些java对象作为列表插入cassandra。 我有一个可序列化的java类 我将其插入为:Java 检索列表<;blob>;卡桑德拉的例子,java,list,cassandra,blob,cql3,Java,List,Cassandra,Blob,Cql3,我试图将一些java对象作为列表插入cassandra。 我有一个可序列化的java类 我将其插入为: public void storeFeatures(java.util.Vector features){ java.util.UUID uuid = java.util.UUID.randomUUID(); java.util.List<ByteBuffer> ls=new java.util.ArrayList<ByteBuffer&
public void storeFeatures(java.util.Vector features){
java.util.UUID uuid = java.util.UUID.randomUUID();
java.util.List<ByteBuffer> ls=new java.util.ArrayList<ByteBuffer>();
for(int i=0;i<features.size();i++) {
my.package.Feature f=(my.package.Feature)features.elementAt(i);
byte[]b=(new ObjectToBytes()).getBytes(f);
ls.add(java.nio.ByteBuffer.wrap(b));
}
session.execute("INSERT INTO mytable ( id, features) values ( ?, ? )", uuid, ls);
}
public void-storeFeatures(java.util.Vector-features){
java.util.UUID UUID=java.util.UUID.randomUUID();
java.util.List ls=new java.util.ArrayList();
对于(int i=0;i键入为list?留下答案:没有对行.getBytes(“功能”);
进行不必要的调用,这导致了错误为什么在行.getBytes(“功能”);
之前调用行.getList
?米哈伊尔,你用你的问题挽救了我的一天。。是的。。那行就是问题。谢谢。。
public java.util.List getFeatures(){
java.util.List<ByteBuffer> ret=null;
ResultSet rows = session.execute("SELECT * FROM imgs limit 10");
for(Row row: rows){
row.getBytes("features");
ret=row.getList("features",java.nio.ByteBuffer.class);
}
return ret;
}
com.datastax.driver.core.exceptions.InvalidTypeException: Column features is of type list<blob>
at com.datastax.driver.core.ColumnDefinitions.checkType(ColumnDefinitions.java:291)