当前位置: 首页 > 知识库问答 >
问题:

Hazelcast谓词in子句

贺子昂
2023-03-14

谁能告诉我如何用Hazelcast谓词“in”子句吗。我想使用以下内容,

Predicates.in('column',value);

我想将值作为值的ArrayList传递。但是它抛出错误,因为它期望实现可比的对象。对此有任何解决方法吗?

共有1个答案

魏彦
2023-03-14

Predicates.in接受类型的参数(字符串,可比...)。

因此,对于列名,您可以按原样传递一个字符串。可比较的意味着您可以在逗号分隔的列表中传递各个值,但也可以在数组中传递它们。ArrayList不会自动转换,但您可以按如下方式进行转换:

ArrayList<String> values = new ArrayList<>(Arrays.asList("one", "two", "three");
Predicates.in("column", values.toArray(new String[]));

(new String[])参数只是为了确保返回字符串数组,否则将获得对象数组。

 类似资料:
  • 在hazelcast IMap中查找谓词结果大小的最佳方法是什么? MapProxyImpl中不支持直接大小。java和size()将根据返回的集合进行计算,在这种情况下,这是不需要的。 你有什么建议吗? 谢谢

  • 我正在尝试构建一个方法,删除具有非空属性的条目,但我一直在谓词中失败,我不知道如何正确实现谓词,因为hazelcast没有将“Not NULL”或“IS NULL”作为where子句任何想法如何在映射中找到我需要搜索以删除它们的值? 方法 主类响应SerializablePlus

  • 我有一个Hazelcast地图的HashMap作为我下面所示的值。 我想使用谓词/SQLPredicate执行查询。我该怎么做? 请帮帮我。

  • TestValue类是简单的pojo 这只是本地env,所有的东西都在我的机器上运行,单个Hazelcast实例。我的代码与官方文档中的示例相匹配。 Hazelcast版本:4.2.1

  • 我是Hazelcast的新手-评估和原型设计,看看它是否适合我们的分布式内存缓存需求。其中一个要求是能够使用通配符在给定地图中搜索关键字。通过查看IMap文档,可以使用keySet(谓词谓词)。但我不知道如何使用谓词,在给定通配符字符串的情况下,返回一个包含所有匹配键的键集。举个例子会很有帮助。 我的代码片段。这是客户端。 谢谢

  • 我一直在尝试使用聚合框架按对报告进行计数。尝试1: 这导致聚合框架抛出: 然后更改为使用而不是进行尝试#2: 最后,我在尝试#3中使用了lambda来实现接口: 这一尝试终于奏效了。 问题1:这是Hazelcast的一个bug吗?似乎聚合框架应该支持由或构建的?如果不是,那么应该创建一个新的类型(例如,)来避免这种混淆。 问题2(与问题1相关):使用lambda会导致我创建的索引未被使用。相反,映