2012-03-21 117 views
0

我正在嘗試在GAE/J上創建一個簡單的應用程序。數據模型由一個notes的列表組成,每個都有幾個tags與Siena非規範化數據建模

在關係的世界,這將是一個多到許多 - 因爲每個note可以有多個tags,每tag可以「屬於」幾個notes。但是,這並不適合GAE數據存儲環境。所以,我正在考慮保存每個note,其列表tags以及。如果索引正確,則標籤搜索也應該很快。

我的問題:如何使用錫耶納建模?文檔很少,我看到了這些例子,但感到困惑。

回答

1

錫耶納文檔是作爲疏林我沒有時間進行這項工作了......我現在正忙着在其他項目上,如果有人想促進和維護錫耶納,他/她的歡迎;)

考慮到你的問題,是的,你應該使用由錫耶納管理並在GAE工作的簡單列表(又名屬性列表)。

添加一個字段,如:(無註釋)

List<String> tags 

它應該工作!

+0

如果關於文檔的評論聽起來像一個咆哮,我很抱歉。我不是故意要冒犯!現在,如果我的標籤本身就是一個模型,而不僅僅是一個字符串呢?我可以做'列出標籤'嗎?我閱讀了關於嵌入的內容,並認爲我應該使用'@ Embedded'註釋。我的理解是,如果你不想'JOIN'被執行(我在我的問題中描述的場景),那麼應該使用'@ Embedded'。這種理解是否正確? – curioustechizen 2012-03-22 03:20:16

+1

別擔心,我不會冒犯:D只是我很傷心地意識到這一點,並且不能像去年那樣在錫耶納工作,因爲我正在進行其他項目......關於標籤,沒有你不能使用列表,但列表作爲GAE只管理列表屬性的基本類型。 @Embedded也是一個解決方案,但GAE有限制您可以在實體組(嵌入式實體)中執行更新的次數。你不能修改這個組超過1次/秒。因此,我建議您使用列表並將您的標籤密鑰寫爲字符串,以便您可以非常輕鬆地找到相應的標籤。 – mandubian 2012-03-22 09:50:48

+0

好的 - 我現在明白了。我可能會堅持使用簡單的'字符串'作爲標籤(這是什麼標籤呢!)。我仍然需要真正嘗試「查找帶有如此標記的筆記」。我會在這裏更新我的發現。 – curioustechizen 2012-03-22 14:16:15