Mongo的ORM框架的学习Morphia(七)@Embedded的用法
package com.easyway.mash5.app.model;import java.util.List;import java.util.Vector;import com.google.code.morphia.annotations.Embedded;import com.google.code.morphia.annotations.Property;/** * @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 * * * * @Title: TODO * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company:易程科技股份有限公司 * @Date:2012-3-1 * @author * @version 1.0 */@Embeddedpublic class BO {@Property("Name") private String name; @Property private String description; @Embedded(concreteClass = Vector.class) private List<Field> fields; public BO() { super(); }public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public List<Field> getFields() {return fields;}public void setFields(List<Field> fields) {this.fields = fields;}}
?