默認MappingMongoConverter向數據庫中的每個對象添加自定義類型鍵(「_class」)。所以,如果我創建了一個人:Spring數據MongoDb:MappingMongoConverter刪除_class
package my.dto;
public class Person {
String name;
public Person(String name) {
this.name = name;
}
}
,並將其保存到數據庫:
MongoOperations ops = new MongoTemplate(new Mongo(), "users");
ops.insert(new Person("Joe"));
在蒙戈生成的目標將是:
{ "_id" : ObjectId("4e2ca049744e664eba9d1e11"), "_class" : "my.dto.Person", "name" : "Joe" }
問題:
將Person類移入不同的命名空間有什麼含義?
是否有可能不用「_class」鍵污染對象;沒有爲Person類寫一個獨特的轉換器?
那麼這個故事是怎麼回事呢?有沒有辦法阻止「_class」字段存儲在MongoDB中? – hodgesz