0

我正在學習mongo db和Spring框架。 我相信mongodb的力量之一是消耗性結構,所以用戶可以輕鬆地添加或刪除成員數據。爲什麼用Spring數據mongo製作User VO?

但是,我發現很多用戶文檔的示例(使用@Document,比如this)。如果像那個用戶那樣使用VO應該在字段添加或刪除時編譯java類,對吧?

我覺得人們用這種方式,因爲這種結構有一個點。我想知道爲什麼。對我來說,感覺更合適使用Map<String, Object>來使用。

感謝您回答我的根本問題。

回答

0

你可以用下面的點找到了答案:

(1)通過映射與@Document一個Value Object,你可以代表一個Java對象(堆)中有documentMongoDBcollection(如UserProduct等)。這就是所謂的Object to Document Mapping(ODM),你可以使用像Spring Data MongoDB,Hibernate OGM等這樣的框架。優點是通過使用ODM框架的強大功能來存儲/檢索文檔,而無需重新實現訪問數據庫的樣板代碼。

您可以在這一點上看看here關於Spring Data框架的功能,它可以輕鬆地存儲/檢索文檔。

如果您不遵守這個規定,您將最終在樣板代碼的整個Data Access Layer。 (2)此外,對於每種類型的數據使用Map<String, Object>都不符合OOP,因此您應該使用業務術語(如產品文檔,部門文檔等)來表示數據。

+0

感謝您的回答。我明白了。 –

相關問題