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; }}
?