2012-10-18 68 views
0

我想在我的nosql映射实体中具有以下字段:是否有可能有一个列表转换器?

private List cookieIds;

我可以有一个列表转换器吗?在这种情况下,数据如何保存在Casssandra中?

任何关于如何编写自定义转换器的提示都会很棒。

回答

2

大声笑,我们正在实现@NoSqlEmbedded标记来照顾它,但是它还没有完成,因为我正在试图做它,所以我也可以做递归(想想@NoSqlEmbedded的流行病)。我们已经扫描了完成但需要执行释放/解组。

注意:我将尝试在本周末结束时使用@NoSqlEmbedded进行单元测试。

列表中的每个项目必须是唯一的(即它实际上是一个不是列表)。然后让我们说你有这个

public Request { 
    @NoSqlId 
    private String id; 
    @NoSqlEmbedded 
    private List<String> cookieIds; 
    private String property1; 
} 

将存储这样

rowkey(ID) - > property1 = “东西”,cookie编号:cookieValue1 = NULL,cookie编号:cookieValue2 = NULL,cookie编号:cookieValue3 = NULL

所以,现在我们要告诉你,我们不会将其存储这样的原因....

rowkey(ID) - > property1 = “东西”,cookie编号= cookieValue1,cookieValue2,cookieValue3

事实证明,如果您在这里请求了两台机器,并且一台机器添加了cookieValue4,另一台机器删除了cookieValueValue2,在我们的实施中,您正确地以cookieValue1,cookieValue3,cookieValue4结束,如果我们像第二个版本那样存储它,其中一台服务器会赢得那么你最终与这两个结果之一(在理想情况下,你想要的拆除和一个除了独立工作)

  • cookieValue1,cookieValue2,cookieValue3,cookieValue4
  • cookieValue1,cookieValue3

我h这是有道理的。现在,没有@NoSqlEmbedded标签,你可以使用第二种方法,并有一个转换器,就像我在你的日期后回复。如果你写了Date转换器,我想你会明白如何做到这一点。先练习数据转换器。

让我知道如果你仍然有问题,但是。

院长

相关问题