2017-10-15 301 views
1

我正在使用Ignite v2.1和dbeaver查詢高速緩存。是否有可能查詢緩存中的對象內的集合或緩存中對象內的複雜對象?如果是這樣,它的語法是什麼?Ignite對象內集合的SQL工具查詢

例如,如果我有像IgniteCache和Person這樣的緩存,看起來像下面那樣,那麼語法是什麼1)選擇地址和2)選擇兄弟名稱&地址?

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

回答

0

你將不得不在這個緩存聲明QueryEntity這個緩存,具有字段和索引列表,那麼您可以在SQL查詢中使用的字段。在相同的文檔中解釋註釋驅動的設置,選擇一個更適合您的文檔。

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

不支持外鍵,但我不認爲siblings設置將工作。除非添加連接表,否則它不適用於關係數據庫。 Ignite不是圖形數據庫。

1

在Ignite中對嵌套集合執行SQL是不可能的:SQL標準不支持這樣的事情。 SQL表是平坦的。

想想常規的SQL數據庫:您需要引入Person.idPerson.parentId(一到多),或者單獨的映射表(許多到多),然後使用SQL JOIN查詢的兄弟姐妹。