Kundera Cassandra根据索引列删除一行

时间:2015-12-17 07:06:20

标签: cassandra kundera

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

尝试:

upload_id作为索引添加到表格中。

  1. Delete from table where upload_id = '"+uploadId+"'"  但是这给了我一个错误"NON PRIMARY KEY found in where clause"

  2. String selectQuery = "Select hashkey from table where upload_id='" + uploadId + "'"

  3. entityManager.createNativeQuery(selectQuery).getResultList() 并使用for循环删除List中的所有元素。        kundera更改此查询以追加LIMIT 100 ALLOW Filtering

    Kundera for Cassandra - Deleting record by row key发现了一个与此类似的问题,但是在2012年之后,cassandra和Kundera发生了很多变化。

1 个答案:

答案 0 :(得分:0)

Kundera默认使用LIMIT 100。您可以使用query.setMaxResults(<integer>)相应地修改限制,然后运行循环。

示例:

Query findQuery = entityManager.createQuery("Select p from PersonCassandra p where p.age = 10", PersonCassandra.class);
findQuery.setMaxResults(5000);
List<PersonCassandra> allPersons = findQuery.getResultList();