如何让Ignite缓存SQL查询返回值对象



我有一个Postgres数据库配置为我的持久层,并希望对缓存在Ignite的Postgres表执行SQL查询。

理想情况下,我希望在这些缓存上执行查询,并返回这些表所代表的Value对象。

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

SqlFieldsQuery可以工作,但我不希望在List中处理行数据。是否有一种方法可以让SqlFieldsQuery作为对象返回值,现在作为其字段的列表?

我认为连续查询可能是一个可能的选择,但我对听缓存更新不感兴趣,它与SqlFieldsQuery不兼容。

使用_key_val关键字检索整个键和/或值对象。

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);
}
}

相关内容

  • 没有找到相关文章

最新更新