2012-10-18 95 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轉換器,我想你會明白如何做到這一點。先練習數據轉換器。

讓我知道如果你仍然有問題,但是。

院長

相關問題