它看起來像SqlQuery只支持以select *
開頭的sql?它不支持其他的SQL,只選擇一些列如 select id, name from person
,並將列映射到相應的POJO?SqlQuery和SqlFieldsQuery
如果我使用SqlFieldQuery來運行sql,結果是List的QueryCursor(每個List包含結果的一個記錄)。但是,如果SQL與select *
啓動時,該列表中的內容將與現場查詢關鍵詞,比如不同: select id,name,age from person
對於select *
,每個列表被構造有3個部分:
第一elment是緩存
第二元件的關鍵是包含數據
拖尾元件的POJO對象是每列的值。
它爲什麼這麼設計?如果我不知道SqlFieldsQuery運行的sql是什麼,那麼我需要額外努力來確定List包含的內容。
湯姆,在IGNITE JIRA有同樣的門票。例如:https://issues.apache.org/jira/browse/IGNITE-3466作爲一種解決方法,您可以指定列的列表並且不使用星號。 – kuaw26
謝謝@ kuaw26。另一種情況是'select *'返回的前兩列是K和V. – Tom