编程语言
首页 > 编程语言> > java – 在Cassandra中使用对象映射器批量插入

java – 在Cassandra中使用对象映射器批量插入

作者:互联网

使用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.

标签:java,nosql,cassandra,datastax
来源: https://codeday.me/bug/20190717/1488277.html