MongoDB每条文档会有一个叫 _id的字段,这个相当于我们原来关系数据库中表的主键,当你在插入文档记录时没有指定该字段,MongoDB会自动创建,其类型是ObjectID或String类型。
在Java对象类中,使用@Id注解可以将属性对应到MongoDB数据库中自动生成的主键字段_id。
比如下面这个例子,自动生成的_id将注入到对象中加了@Id注解的uid属性中。
1 package cn.zzz.domain;
2
3 import org.springframework.data.annotation.Id;
4 import org.springframework.data.mongodb.core.index.CompoundIndex;
5 import org.springframework.data.mongodb.core.index.CompoundIndexes;
6 import org.springframework.data.mongodb.core.index.Indexed;
7 import org.springframework.data.mongodb.core.mapping.Document;
8 import org.springframework.data.mongodb.core.mapping.Field;
9
10 import java.io.Serializable;
11
12 @Document(collection = "user")
13 @CompoundIndexes({
14 @CompoundIndex(name = "username_password_idx