【发布时间】:2017-12-15 20:37:39
【问题描述】:
阅读https://apacheignite.readme.io/docs/affinity-collocation和ignite-examples中的文档,使用@AffinityKeyMapped的示例假设key是一个对象:PersonKey是一个有personId和companyId的类,companyId有注解。
在我的用例中,我的键是一个简单的整数。我正在使用从 WebConsole 生成的域模型。我有 2 个类:Item 和 ItemInstance,并且 ItemInstance 具有对 Item 的外键引用。我的模型定义如下:
public class ItemInstance implements Serializable {
private static final long serialVersionUID = 0L;
@QuerySqlField(index = true)
@AffinityKeyMapped
private int itemId;
private String serialNumber;
...
}
public class Item implements Serializable {
private String name;
...
}
在节点启动和缓存加载期间没有错误,但是在执行查询时我得到不完整的结果——它只检索并置的数据。我知道这一点是因为当我在 Web 控制台中运行相同的查询并勾选“允许非并置连接”时,我得到了完整的结果。
请注意,我没有像在另一个示例中那样使用 AffinityKey,因为我正在从 3rdparty 数据库中读取数据,而不是执行任何 put。
请告诉我以下内容:
ignite 是否支持@AffinityKeyMapped 整数键,类似于我上面的用法;
我们是否需要在 Spring XML 配置中也定义 @AffinityKeyMapped?我认为这可能是问题所在,但我无法在 Web 控制台或在线找到它。
谢谢!
【问题讨论】: