去除 _class 字段成功
@Configuration
public class MongoConfiguration {
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
MongoDbFactory object = ...;
return object;
}
@Bean
public MongoTemplate mongoTemplate() throws Exception {
MappingMongoConverter mongoConverter = new MappingMongoConverter(new DefaultDbRefResolver(mongoDbFactory()), new MongoMappingContext());
mongoConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
return new MongoTemplate(mongoDbFactory(), mongoConverter);
}
}
去除 _class 字段失敗
@Configuration
public class MongoConfiguration {
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
MongoDbFactory object = ...;
return object;
}
@Bean
public MongoOperations mongoTemplate() throws Exception {
MappingMongoConverter mongoConverter = new MappingMongoConverter(new DefaultDbRefResolver(mongoDbFactory()), new MongoMappingContext());
mongoConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
return new MongoTemplate(mongoDbFactory(), mongoConverter);
}
}
代碼的區別
唯一的不同之處爲 mongoTemplate() 方法。返回的類型範圍不同,
返回向上轉型後的類型 MongoOperations,該方式去除失敗
返回原始類型 MongoTemplate,該方式成功
目前未發現該 bug 產生的原因。