我正在尝试删除一堆类似于以下代码片段的条目。
var query = "delete from package.Entity where field = :value";
var count = cache.query(query)
.setParameter("value", value)
//.maxResults(total) --> throws org.infinispan.commons.CacheException: ISPN014057: DELETE statements cannot use paging (firstResult/maxResults)
.executeStatement();
但是,最多删除 100 条。我知道
query.default-max-results
默认为 100,因此我尝试将查询的 maxResults
设置为应删除的条目数,因为代码会跟踪该数字。但 maxResults
不允许用于删除语句,从而导致 CacheException。然而,将缓存的 query.default-max-results
更改为 200 会导致删除 200 个条目。
如何执行这条语句并保证所有满足查询的条目都被删除而不改变
query.default-max-results
?
这可能是一个错误,我打开了https://issues.redhat.com/browse/ISPN-16808。