使用cassandra对象映射器api想要进行批处理持久化.
对于单个对象,它工作正常.
Mapper<MyObj> mapper = new MappingManager(getSession()).mapper(MyObj.class);
mapper.save(myObj);
对于批量更新我试过这种方式,但理想情况下Cassandra认为我持久化列表所以它给出了异常,就像在List中找不到@Table注释,这是预期的行为
Mapper<List<MyObj>> mapper = new MappingManager(getSession()).mapper(List.class);
myObjList.add(myObj1)
myObjList.addd(myObj2)
mapper.save(myObjList);
有没有办法在使用批处理的cassandra中实现相同的功能?
注意:或者我可以通过使用for循环重复第一步来完成此操作,但我正在寻找批量插入@ObjectMapper.
解决方法:
Datastax对象映射器框架中没有批量插入实用程序.
您可以在for循环中逐个插入实体,如您所建议的那样,或者查找更高级的映射框架,例如Achilles.