`
longgangbai
  • 浏览: 7251150 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
 */
@Embedded
public 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;
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics