2012-11-15 37 views
1

我一直在試圖讓我的頭纏住MongoDB,因爲它被Spring使用,所以我決定在Spring Roo中開始一個小項目。使用Spring Data防止MongoDB中的重複(Spring Roo)

在我的項目中,我將我的用戶登錄數據存儲到MongoDB。問題在於,註冊過程創建一個新的User對象並將其存儲在MongoDB中,但有一種趨勢是創建重複項,儘管我在loginId字段上擁有@Unique。

現在,我知道問題的一部分是我從JPA/RDBMS的角度考慮事情,而MongoDB不是一個關係數據庫,因此有一組不同的參數可以操作,但我有不僅僅是一個非常簡單的示例代碼,而是在尋找指導時遇到問題。

首先,有什麼Spring/Other註釋可用,更重要的是,從Spring世界處理MongoDB時通常使用哪些註釋?其次,在處理需要「獨特」的文件時,通常如何做到這一點?你是否首先在獨特的領域進行搜索,以確保它不在那裏,然後進行插入?第三,在JPA-land中,我可以使用批註@PrePersist和@PreUpdate進行最後一分鐘的數據處理,如MD5哈希密碼已更新或在存儲之前添加/更新「上次修改日期」。我知道這是JPA-isms,但是我仍然可以使用它們,如果不是,是否有與Spring Data/MongoDB一起使用的替代方案?

+0

可能你有和這張海報一樣的問題嗎? http://forum.springsource.org/showthread.php?116319-Problems-with-unique-index-and-MongoDB –

回答

0

我最終在我的Entities上使用了@Id註釋,它指示哪個字段用作id字段。只要該字段是唯一的,寫入後續更新將正確替換現有實體,而不是添加新實體。

相關問題