Mongodb与spring集成(2)------实体映射
来源:互联网 发布:传奇引擎源码编译教程 编辑:程序博客网 时间:2024/05/20 00:12
spring-data-mongodb中的实体映射是通过
MongoMappingConverter这个类实现的。它可以通过注释把
java类转换为mongodb的文档。
它有以下几种注释:
@Id - 文档的唯一标识,在mongodb中为ObjectId,它是唯一的,通过时间戳+机器标识+进程ID+自增计数器(确保同一秒内产生的Id不会冲突)构成。
@Document - 把一个java类声明为mongodb的文档,可以通
过collection参数指定这个类对应的文档。
@DBRef - 声明类似于关系数据库的关联关系。ps:暂不支持级联的保存功能,当你在本实例中修改了DERef对象里面的值时,单独保存本实例并不能保存DERef引用的对象,它要另外保存,如下面例子的Person和Account。
@Indexed - 声明该字段需要索引,建索引可以大大的提高查询效率。
@CompoundIndex - 复合索引的声明,建复合索引可以有效地提高多字段的查询效率。
@GeoSpatialIndexed - 声明该字段为地理信息的索引。
@Transient - 映射忽略的字段,该字段不会保存到
mongodb。
@PersistenceConstructor - 声明构造函数,作用是把从数据库取出的数据实例化为对象。该构造函数传入的值为从DBObject中取出的数据。
以下引用一个官方文档的例子:
Person类
@Document(collection="person") @CompoundIndexes({ @CompoundIndex(name = "age_idx", def = "{'lastName': 1, 'age': -1}") }) public class Person<T extends Address> { @Id private String id; @Indexed(unique = true) private Integer ssn; private String firstName; @Indexed private String lastName; private Integer age; @Transient private Integer accountTotal; @DBRef private List<Account> accounts; private T address; public Person(Integer ssn) { this.ssn = ssn; } @PersistenceConstructor public Person(Integer ssn, String firstName, String lastName, Integer age, T address) { this.ssn = ssn; this.firstName = firstName; this.lastName = lastName; this.age = age; this.address = address; }
Account类
@Document public class Account { @Id private ObjectId id; private Float total; }
0 0
- Mongodb与spring集成(2)------实体映射
- Mongodb与spring集成(2)------实体映射
- Mongodb与spring集成 实体映射
- Mongodb与spring集成 实体映射
- mongodb与spring集成
- Mongodb与spring集成
- Mongodb与spring集成
- Mongodb与spring集成
- Mongodb与spring集成(1)------配置
- Mongodb与spring集成(1)------配置
- Mongodb与spring集成 配置
- spring与mongodb的集成
- Spring与MongoDB集成使用
- mongodb实体映射
- Spring中Mongodb的java实体类映射
- Spring中Mongodb的java实体类映射
- Spring中Mongodb的java实体类映射
- Spring Data 与MongoDB 集成三:操作篇(修改)
- android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)
- B树原理及分析
- 的萨芬三等功克拉的管
- 史上最牛逼的javascript俄罗斯方块,63行代码搞定啊
- Guess(写的很糟糕,虽然目前就这水平)
- Mongodb与spring集成(2)------实体映射
- C++获取系统的毫秒时间
- JAVA获取键盘输入值方法 -- 学习笔记
- Linux安装SwfTools-0.9.2安装事,在执行make install时报错
- 比较简捷的软件联网检测版本方法
- VS2008 C++项目迁移至VS2010修改的几个错误
- 关于驱动开发中mmap函数的实现
- 数据立方
- wsdl2java命令