常用注解

@Document

把一个java类声明为mongodb的文档,可以通过collection参数指定这个类对应的文档,标注在实体类上,类似于hibernate的entity注解。

@Id

文档的唯一标识,在mongodb中为ObjectId,它是唯一的,不可重复,自带索引,通过时间戳+机器标识+进程ID+自增计数器(确保同一秒内产生的Id不会冲突)构成。

@Transient

映射忽略的字段,该字段不会保存到mongodb,只作为普通的javaBean属性。

@Field

映射 mongodb中的字段名,可以不加,不加的话默认以参数名为列名。

@Indexed

声明该字段需要索引,建索引可以大大的提高查询效率。

@CompoundIndex

复合索引的声明,建复合索引可以有效地提高多字段的查询效率。

@GeoSpatialIndexed

声明该字段为地理信息的索引。

@DBRef

关联另一个document对象。类似于mysql的表关联,但并不一样,mongo不会做级联的操作。

示例

import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "log_sys_user")
public class SysUserLog {
	/**
	* @Fields id : 主键
	*/
	private String id;
	/**
	* @Fields userId : 用户ID
	*/
	private String userId;
	/**   
	 * @Fields userName : 用户姓名
	 */
	private String userName;
	/**   
	 * @Fields userIp : 用户IP 
	 */
	private String userIp;
	/**   
	 * @Fields operationUrl : URL
	 */
	private String operationUrl;
	/**
	* @Fields operationType : 操作类型
	*/
	private String operationType;
	/**
	* @Fields operationContent : 操作内容
	*/
	private String operationContent;
	/**
	* @Fields createTime : 创建时间
	*/
	private Date createTime;
	
	/**  
	 * @Title:  getId <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	@Id
	public String getId() {
		return id;
	}
	/**  
	 * @Title:  setId <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**  
	 * @Title:  getUserId <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public String getUserId() {
		return userId;
	}
	/**  
	 * @Title:  setUserId <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}
	/**  
	 * @Title:  getUserName <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	@Transient
	public String getUserName() {
		return userName;
	}
	/**  
	 * @Title:  setUserName <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}
	/**  
	 * @Title:  getUserIp <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public String getUserIp() {
		return userIp;
	}
	/**  
	 * @Title:  setUserIp <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setUserIp(String userIp) {
		this.userIp = userIp;
	}
	/**  
	 * @Title:  getOperationUrl <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public String getOperationUrl() {
		return operationUrl;
	}
	/**  
	 * @Title:  setOperationUrl <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setOperationUrl(String operationUrl) {
		this.operationUrl = operationUrl;
	}
	/**  
	 * @Title:  getOperationType <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public String getOperationType() {
		return operationType;
	}
	/**  
	 * @Title:  setOperationType <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setOperationType(String operationType) {
		this.operationType = operationType;
	}
	/**  
	 * @Title:  getOperationContent <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public String getOperationContent() {
		return operationContent;
	}
	/**  
	 * @Title:  setOperationContent <BR>  
	 * @Description: please write your description <BR>  
	 * @return: String <BR>  
	 */
	public void setOperationContent(String operationContent) {
		this.operationContent = operationContent;
	}
	/**  
	 * @Title:  getCreateTime <BR>  
	 * @Description: please write your description <BR>  
	 * @return: Date <BR>  
	 */
	public Date getCreateTime() {
		return createTime;
	}
	/**  
	 * @Title:  setCreateTime <BR>  
	 * @Description: please write your description <BR>  
	 * @return: Date <BR>  
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
}