Ignite SQL工具查询对象内的集合

时间:2017-10-15 17:09:18

标签: caching ignite dbeaver

我正在使用Ignite v2.1和dbeaver来查询缓存。是否可以查询缓存中对象内的集合,或缓存中对象内的复杂对象?如果是这样,它的语法是什么?

例如,如果我有一个像IgniteCache和Person这样的缓存,如下所示,语法是什么1)选择地址和2)选择兄弟姐妹名称&地址?

class Person {
  String name;
  Addresss address;
  Collection<Person> siblings;
}

2 个答案:

答案 0 :(得分:1)

在Ignite中无法对嵌套集合执行SQL:SQL标准不支持此类操作。 SQL表是平的。

考虑常规SQL数据库:您需要引入Person.idPerson.parentId(对于一对多)或单独的映射表(对多对多),然后使用SQL { {1}}查询兄弟姐妹。

答案 1 :(得分:0)

您必须为此缓存声明QueryEntity,并在此缓存中包含字段和索引列表,然后您可以在SQL查询中使用其字段。注释驱动的设置在同一个文档中解释,选择一个更适合你的。

然后1)可能会像SELECT ADDRESS FROM PERSONCACHE.PERSON WHERE NAME = ?

不支持外键,我不认为siblings设置可行。除非您添加连接表,否则它对关系数据库不起作用。 Ignite不是图表数据库。