文档章节

morphia 的 annotation

这些年了1990
 这些年了1990
发布于 2017/03/29 11:24
字数 390
阅读 22
收藏 0


AlsoLoad             该字段所以提供的名字都能被加载,良好的数据迁移
Collation
ConstructorArgs
Converters
Embedded             这个类会被作为一个文档里的子文档
Entity               实体类,
EntityListeners      指定外部生命周期事件实现类 
Id                   用来当作MongoDB中的_id字段
Index               
Indexes              列出了Morphia应该创建的索引
Preperty              改变文档中字段的名字
Reference             引用了其它的映射实体
Serialized            字段被转换成二进制,并且被存储
Text
Transient            被该注解注释,该属性不持久化
Validation           允许一个文档验证模式适用于所有写入MongoDB的定义
Version              为Entity提供一个乐观锁,动态加载,不需要设置值

@Entity
@Validation("{adt:{$gt:18}}")
@Indexes({ @Index(fields = @Field(value = "adt", type = IndexType.DESC)), @Index(fields = @Field("CHD")) })
public class AnnotationTestEntity {
	@Id
	private ObjectId id;// 和entity成对出现
	@Property("NewName")
	private String name;// 在数据库中保存的是 "NewName" : "Tim"
	@Reference
	private AnnotationTest annotationTest;
	@Serialized
	private File streamFilter;// 该对象存储的是序列化后的二进制
	@Transient
	private String Transient;// 数据库中没有保存该属性
	@Indexed
	private int adt;
	@Collation(locale = "dddddd")
	private int CHD;
	@Version("version")
	private Long Version;// 必须为long类型
	@Embedded
	private School school;
}

@Entity
public class AnnotationTest {
	@Id
	private String id;
	private int i;
}

@Embedded
public class School {
	
    private String name;
    private String Address;
}

存入数据库后的结构

{
    "_id" : ObjectId("58db4f3fc0044b2d7bd5bf14"),
    "className" : "tops.front.operator.intl.inquirys.AnnotationTestEntity",
    "NewName" : "Tim",
    "annotationTest" : {
        "$ref" : "AnnotationTest",
        "$id" : "id"
    },
    "streamFilter" : { "$binary" : "H4sIAAAAAAAAABWMsRHCMAwADYQOKNgDawBKDqp0TKDzmUTBsYyskLAPJWPRMgOY5ou/v399zDKLWXV4R0tsTxR8tXseN+v3d2FmtakSaqtmW/8LCBgbOKtQbPZTUuOg5d7DWPQVqSMPyinbi3BUy8kLKoulqKHgNpA8MmRx0CNFEJ95EOeLSv8jYEqBHCpxPJSBn9ROfRjnBqYfcI2stqgAAAA=", "$type" : "00" },
    "adt" : 10,
    "CHD" : 145,
    "version" : NumberLong(1001),
    "school" : {
        "name" : "diyizhongxue",
        "Address" : "deizhi"
    }
}

(如有不懂的请访问http://mongodb.github.io/morphia/1.3/guides/annotations/)

© 著作权归作者所有

上一篇: JVM 指令使用
这些年了1990

这些年了1990

粉丝 10
博文 54
码字总数 13607
作品 0
徐汇
程序员
私信 提问
NoSQL 之 Morphia 操作 MongoDB

上两篇文章:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html 介绍到了在MongoDB的控制台完成MongoDB的数据操......

ibm_hoojo
2012/02/17
0
0
使用Morphia完成对象到MongoDB的映射

Morphia是一个实现Java对象到MongoDB双向映射的类库。最近,James Williams在自己Blog上张贴了一篇相关的文章。 尽管MongoDB已经有了Grails插件,但James似乎更偏爱Morphia: 有人可能会奇怪...

红薯
2010/08/24
3.1K
2
使用 Morphia 和 MongoDB 实现域模型持久性

简介: MongoDB 是面向文档的开源数据库,Morphia 是面向 MongoDB 的类型安全的对象映射库。本文解释了在文档和对象之间进行映射的好处,并演示了如何使用 Morphia 来实现这个功能。然后演示...

IBMdW
2011/06/14
1K
2
PlayMorphia

PlayMorphia是基于Morphia库的PlayFramework插件,为PlayFramework应用程序开发提供便捷访问MongoDB的支持。其特性如下: Play数据模型的无缝集成,直接支持CRUD 支持嵌入和引用两种对象组合...

匿名
2012/05/01
857
0
PlayMorphia 1.2.8-RC1 发布

PlayMorphia是基于Morphia库的PlayFramework插件,为PlayFramework应用程序开发提供便捷访问MongoDB的支持。v1.2.8-RC1版有以下更新: 缺省打开自动添加日期时间戳 批处理插入 增加字串类型系...

罗格林
2012/06/10
241
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部