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

How to do delete rows based on indexed column in cassandra

我目前使用的基于索引列删除行的方法

  1. Select 限制为 100 的查询。
  2. 如果有行,一一删除所有抓取的行。
  3. 刷新实体管理器。
  4. 转到步骤 1。

使用 cassandra 2.1.8 和 kundera-cassandra-ds-driver 从 cassandra 中获取行。

有什么方法可以从 Kundera 触发删除查询。

您可以执行以下操作:

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

PS:Cassandra 不允许删除基于 non-primary 键的行,Kundera 在内部以与您类似的方式处理此问题。