Mongodb 的ORM框架 Morphia 注解三 —— @Indexed And @Embedded
来源:互联网 发布:黑百通软件下载 编辑:程序博客网 时间:2024/04/28 21:11
Mongodb 的ORM框架 Morphia 注解三 —— @Indexed And @Embedded
@Indexed
此注解是为某个字段申请一个索引。 当datastore.ensureIndexes() 方法被调用时 这些索引就会被申请.. 更多如下:
把@Indexed注解在你想让MongoDB创建索引的属性上。
@Entity
public class Product {
@Id
private ObjectId id;
@Indexed(value=IndexDirection.ASC, name="upc", unique=true, dropDups=true)
private String upcSymbol;
.......
}
参数说明如下:
value: 表名这个索引的方向; IndexDirection.ASC(升序),IndexDirection.DESC(降序), IndexDirection.BOTH(两者)
默认为 升序;
name: 被创建的索引的 名称; mongodb默认创建的索引名的格式为(key1_1/-1_key2_1)
unique: 创建一个唯一索引,当创建唯一索引后,当在此字段插入相同的值时将会报错。true:为唯一索引;false:不是唯一索引。
默认为:false
dropDups:此参数表明,当为某个字段创建唯一索引时,删除其他相同值的记录。只保留第一条记录。true:删除重复,
false:不删除重复(当有重复值时唯一索引创建失败);默认为false.
向MongoDB申请创建索引 Datastore.ensureIndexes()需要被调用。这个方法应该在你已经使用Morphia注册了你的实体类后
被调用。他将会异步创建你的所有索引。 这个动作也许会在你每次启动你的应用时都被执行。
注意:当在一个存在的系统上,创建已经存在的索引时,将不会花费任何事件(也不会做任何事情)。
Morphia m = .....
Datastore ds = ....
m.map(Product.class);
ds.ensureIndexes(); //为被@Indexed注解的所有字段创建索引。
你可以在 http://www.mongodb.org/display/DOCS/Indexes 了解更多关于MongoDB索引的信息。
@Embedded
你可以创建一个类被嵌套在实体类中,在这种情况下我们可以使用@Embedded注解。例如,在Hotel类中 可能会有一个Address。
Address是Hotel不可分割的一部分,没有ID, 并且不会被存储在分开的collection中。在这种情况下我们可以使用@Embedded注解
Address.
@Entity
public class Hotel{
...
@Id
private ObjectId id;
@Embedded
private Address address;
...
}
@Embedded
public class Address{
...
}
正如你所看到的,被@Embedded注解的类没有@Id。 这是因为他们经常被嵌套在其他类中。事实上,被@Embedded注解的类也不允许有@Id
- Mongodb 的ORM框架 Morphia 注解三 —— @Indexed And @Embedded
- Mongodb 的ORM框架 Morphia 注解三 —— @Indexed And @Embedded
- Mongodb 的ORM框架 Morphia 注解一 —— @Entity
- Mongodb 的ORM框架 Morphia 注解二 —————— @Id
- Mongodb 的ORM框架 Morphia 注解 之 @Reference
- Mongodb 的ORM框架 Morphia 之 Updating
- Mongodb 的ORM框架 Morphia 之 Updating
- Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象)
- Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象) .
- Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象)
- Mongodb 的ORM框架 Morphia 之 原始类型和基本类型注解
- Mongodb 的ORM框架 Morphia 之 使用容器(Using Lists, Sets, and Maps)
- 使用mongodb的orm映射框架Morphia的一些例子
- Mongodb 的ORM框架 Morphia 之依赖包
- Mongodb 的ORM框架 Morphia 之 Datasotre接口
- Mongodb 的ORM框架 Morphia 之 Query接口
- Mongodb 的ORM框架 Morphia 之 接口编程
- Mongodb 的ORM框架 Morphia 之 Query接口
- html5脱机web应用程序之FALLBACK段…
- html5脱机应用程序之NETWORK段落
- 使用javascript对缓存进行控制
- 基于Linux的数据包捕获模块设计实现
- html5开发之WebSocket简介
- Mongodb 的ORM框架 Morphia 注解三 —— @Indexed And @Embedded
- js event.keyCode对应的键码
- js的Prototype属性 解释及常…
- C++语言的15个晦涩特性
- Google官方建议:如何让网站在Goog…
- js判断浏览器的类型
- HTML <table> 标签的 frame 属性
- [总结]2013年--- 新的结束的一年
- <!--[if IE]>….<![endif]-->&…