hazelcast - 具有不同字段数的条目
问题描述
我想缓存具有不同字段的数据。
我正在向 IMap 添加一个条目,其中值是一个 Map,但是当我尝试使用 Predicates 搜索 Map 中的值时,我在 ReflectionHelper 中遇到错误。
(我正在使用 Spring JDBC 模板从其中一列是 BLOB 的 DB 表中加载数据,然后将 Map 放入缓存中)
有没有一种模式/方法可以用来缓存值的映射,然后搜索映射中的值?也许我应该使用 MultiMap ,其中值是具有名称/值对的元组?
Caused by: java.lang.IllegalArgumentException: There is no suitable accessor for '['CURRENCY']' on class 'class org.springframework.util.LinkedCaseInsensitiveMap'
at com.hazelcast.query.impl.getters.ReflectionHelper.createGetter(ReflectionHelper.java:192)
at com.hazelcast.query.impl.getters.ReflectionHelper.extractValue(ReflectionHelper.java:209)
解决方案
您需要做的是创建一个通用值提取器,它可以从给定对象中提取值,在您的案例映射中,并在查询时使用它。
在此示例中, Car 类具有 map 属性,但同样也可以在没有包装类的情况下工作。
推荐阅读
- java - 如何在 MAC OSX 上使用 java 启动 appium 服务器
- function - 运行 python/pyspark 函数时需要更多参数
- mysql - 使用 JOIN 时 SQL 语法不正确
- swift - 如何使用 Xcode 对象库为 Cocoa Swift 构建插入删除表单?
- android - 如何填充RelativeLayout中两个视图之间的布局?
- php - 在使用 PHP 将数据插入 mysql 之前截断
- android - 更改外部库的布局文件
- php - 谷歌应用商店销售报告下载自动化
- php - 在php中将第一个值从数据库设置到底部
- vue.js - Framework7 选项卡