如何获取 Ignite Cache SQL 对 Return 值对象的查询

How to get Ignite Cache SQL Query to Return Value Object

我将 Postgres 数据库配置为我的持久层,并想对 Ignite 中缓存的 Postgres 表执行 SQL 查询。

理想情况下,我想对这些缓存执行查询并return编辑这些表表示的值对象。

SqlQuery 提供了我正在寻找但已弃用的功能。

SqlFieldsQuery 会起作用,但我宁愿不必处理列表 的行数据。有没有办法让 SqlFieldsQuery 到 return 作为对象的值,现在作为其字段列表?

我认为连续查询可能是一种可能的替代方法,但我对监听缓存更新不感兴趣,而且它与 SqlFieldsQuery 不兼容。

使用 _key_val 关键字检索整个键 and/or 值对象。

IgniteCache<Long, Person> cache = ignite.cache("Person");

SqlFieldsQuery sql = new SqlFieldsQuery(
        "select _val from Person where age > ?", 28);

try (QueryCursor<List<?>> cursor = cache.query(sql)) {
    for (List<?> row : cursor) {
        Person p = (Person) row.get(0);
        System.out.println(p);
    }
}