为什么 Apache Ignite 在使用 sql 查询时响应为空

Why Apache Ignite response is empty when using sql query

我正在尝试使用 sql 查询在 Ignite 中创建缓存

 CacheConfiguration<?, ?> cacheCfg = new CacheConfiguration<>(DUMMY_CACHE_NAME);
        IgniteCache<?, ?> cache = igniteInstance.getOrCreateCache(cacheCfg);

 cache.query(new SqlFieldsQuery(
         "CREATE TABLE IF NOT EXISTS MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) " +
                "WITH \"template=replicated\", \"DATA_REGION=" + IgniteCacheConfiguration.DEFAULT_REGION + "\""));

然后我尝试使用键值对将一些数据放入缓存 api

        IgniteCache<String, String> cache = ignite.cache("SQL_PUBLIC_MY_TABLE");

        cache.put("1","example");

我知道数据已成功存储,我可以检索它,我看到缓存大小正确但是当我尝试使用 SQL

检索数据时
SELECT * FROM "PUBLIC".MY_TABLE

例如使用 DBeaver 我得到的结果是空的

您知道 Ignite 是这样工作的还是需要一些额外的配置?

默认情况下,它将 kay 和值包装在 class 中。您可以使用 wrap_key 和 wrap_value 参数告诉它不要这样做:

create table MY_TABLE (id varchar, value varchar, PRIMARY KEY(id)) with "wrap_key=false,wrap_value=false" ;