去除 _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 产生的原因。