如何根据cassandra中的索引列删除行

时间:2016-01-13 06:45:31

标签: kundera cassandra-2.1

我用于根据索引列

删除行的当前方法
  1. 选择限制为100的查询。
  2. 如果有行逐个删除所有提取的行。
  3. 刷新实体管理器。
  4. 转到第1步。
  5. 使用cassandra 2.1.8和kundera-cassandra-ds-driver从cassandra中获取行。

    有没有办法从昆德拉发起删除查询。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

Query findQuery = entityManager.createQuery("Delete from PersonCassandra p where p.age = 10",
            PersonCassandra.class);
findQuery.setMaxResults(5000);
findQuery.executeUpdate();

PS :Cassandra不允许基于非主键删除行,Kundera以与您正在执行的方式类似的方式在内部处理此行。