package jef.codegen; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import jef.database.DataObject; import jef.database.annotation.Indexed; /** * JEF-ORM 演示用例 * * 描述 人 这一实体 * * @author Administrator * @Date 2011-4-12 */ @Entity @Table(name = "person_table") public class Person extends DataObject { private static final long serialVersionUID = 1L; @Column @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Integer id; @Column(name = "person_name", length = 80, nullable = false) @Indexed private String name; /** * 元模型定义 从JEF 0.4 开始,JEF部分支持JPA的Annotaion定义,从而可以不在类中定义一个静态的TableMetadata字段. * 但是JPA规范确定并支持,在entity实体的相同目录下,定义一个名称加下划线的元模型类。 为了维持Entity的POJO特性。 * JEF认为,大多数情况下,不需要这样累赘的,重量级的元模型解决方案,仅仅通过一个枚举的定义, 即可起到JPA元模型的默认效果。 * * 为此,依然保留JEF现有的元模型定义 */ public enum Field implements jef.database.Field { id, name } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }