gpt4 book ai didi

java - Hazelcast sql 查询

转载 作者:行者123 更新时间:2023-12-01 16:14:55 25 4
gpt4 key购买 nike

在正常的 SQL 查询中,我们使用选择特定字段(emp_idemp_nameemp_email)select emp_name from table_name(仅显示/获取emp_name)

以同样的方式,如何在 hazelcast 中做到这一点?

static IMap<String, Model)> map = hazelCast.getMap("data");    
map.put(1,(new Model(emp_id,emp_name,emp_email)));
map.values(new SqlPredicate("data[any].entity_id"));

如何在结果中仅选择 emp_name 值?

最佳答案

您正在寻找的内容在 Hazelcast 中称为“投影”。 map 中存储的是 Map.Entry 类型的对象;每当您想要返回除 Map.Entry 之外的其他内容时,您都可以创建一个 Projection 将 Entry 转换为所需的返回类型。

当您需要进行重要的转换时,您可以实现自定义投影,但是当您只是尝试从条目返回单个属性或一组属性时,您可以简单地重用内置投影。

因此,在您的情况下,您可以使用内置的 singleAttribute 投影:

Projection empNameProjection = Projection.singleAttribute("emp_name");

然后您可以使用 IMap.project 返回所有条目或与预测匹配的条目的投影:

Collection<String> names = map.project(empNameProjection, mySqlPredicate);

参见: https://docs.hazelcast.org/docs/latest-dev/manual/html-single/#projection-api

关于java - Hazelcast sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62427077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com