mongo中插入的数据含有_class信息
来源:互联网 发布:4张青眼白龙淘宝 编辑:程序博客网 时间:2024/06/05 16:03
mongo中插入的数据去掉_class
在spring for mongodb中,会发现当一个pojo序列化为一个document时,会出现如下
情况:
public class User {
String username;
String password;
}
转变为mongodb 时
会发现document中,多了个_class属性:
多了_class的意义,在下面这个链接有很好的解答:
http://stackoverflow.com/questions/6810488/spring-data-mongodb-mappingmongoconverter-remove-class/
,其实就是说,为了在把document转换成Java对象时能够转换到具体的子类.
要去掉的方法简单:DefaultMongoTypeMapper类的构造函数的第一个参数是Type在MongoDB中名字. 设置为null的话就不会在保存时自动添加_class属性.所以需要覆写
MappingMongoConverter。
1)用注解的方法取消:
情况:
public class User {
String username;
String password;
}
转变为mongodb 时
- MongoOperations mongoOperation = (MongoOperations)ctx.getBean("mongoTemplate");
- User user = new User("abc", "password123");
- mongoOperation.save(user, "users");
会发现document中,多了个_class属性:
- {
- "_class" : "com.abc.user.User",
- ...................
- }
多了_class的意义,在下面这个链接有很好的解答:
http://stackoverflow.com/questions/6810488/spring-data-mongodb-mappingmongoconverter-remove-class/
,其实就是说,为了在把document转换成Java对象时能够转换到具体的子类.
要去掉的方法简单:DefaultMongoTypeMapper类的构造函数的第一个参数是Type在MongoDB中名字. 设置为null的话就不会在保存时自动添加_class属性.所以需要覆写
MappingMongoConverter。
1)用注解的方法取消:
- @Configuration
- public class SpringMongoConfig{
- public @Bean
- MongoDbFactory mongoDbFactory() throws Exception {
- return new SimpleMongoDbFactory(new Mongo(), "database");
- }
- public @Bean
- MongoTemplate mongoTemplate() throws Exception {
- MappingMongoConverter converter =
- new MappingMongoConverter(mongoDbFactory(), new MongoMappingContext());
- converter.setTypeMapper(new DefaultMongoTypeMapper(null));
- MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(), converter);
- return mongoTemplate;
- }
- 2)XML配置文件
- <pre name="code" class="java"><mongo:mongo host="localhost" port="27017" />
- <mongo:db-factory dbname="database" />
- <bean id="mappingContext"
- class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />
- <bean id="defaultMongoTypeMapper"
- class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
- <constructor-arg name="typeKey"><null/></constructor-arg>
- </bean>
- <bean id="mappingMongoConverter"
- class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
- <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
- <constructor-arg name="mappingContext" ref="mappingContext" />
- <property name="typeMapper" ref="defaultMongoTypeMapper" />
- </bean>
- <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
- <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
- <constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
- </bean>
- </pre>
- <br>
- <br>
- <br>
0 0
- mongo中插入的数据含有_class信息
- springboot mongo 不插入_class
- sql语句插入的数据中含有单引号怎么办?
- sql语句插入的数据中含有单引号怎么办?
- sql语句插入的数据中含有单引号怎么办?
- sql语句插入的数据中含有单引号
- Oracle无法插入含有日期的数据
- mysql中含有自增字段数据表插入数据时需注意的问题
- 数据库如何给含有外键的表中插入数据?
- mongo插入long类型数据
- MONGO Replica 频繁插入大数据的问题
- Mongo中Bson文件的数据恢复
- sql 中怎么将A表插入B表中,,去除两张 表中含有的重复数据
- php插入数据含有特殊符号的处理方法
- 插入的数据含有\r\n,但是开始没发现。
- spring-data-mongo 去除 _class 字段“失败”
- [Tip]如何在SQL*PLUS中插入含有'&'的字符串?
- [Tip]如何在SQL*PLUS中插入含有'&'的字符串?
- 解决linux系统CentOS下调整VolGroup-lv_root与VolGroup-lv_home分区大小
- mysql图库
- 常量和字段
- web前端开发基本知识——css篇
- Printf的格式控制和使用技巧
- mongo中插入的数据含有_class信息
- 【记录】FTP工具的使用
- /etc/sysctl.conf
- spring 框架学习(二) 依赖注入
- android studio前言中不允许…
- 文件目录创建失败 解决方法
- 做好DBA,做好SQLServer性能优化
- strtok
- MySQL字符串函数substring:字符串截取