定义一个枚举类型:

public enum Gender { 

 MAN,WOMAN 

} 



private Date date; 

 //设置默认值 

//TemporalType.DATE表示日期 2010-02-02 

 //TemporalType.TIME表示时间 09:30 

 //TemporalType.TIMESTAMP表示时间戳 2010-02-02 09:30 

 @Temporal(TemporalType.TIMESTAMP) 

 public Date getDate() { 

 return date; 

 } 


 public void setDate(Date date) { 

 this.date = date; 

 } 



private Gender gender=Gender.MAN; 


//一定要设置为非空 

 @Enumerated(EnumType.STRING) @Column(length=5) 

 public Gender getGender() { 

 return gender; 

 } 


 public void setGender(Gender gender) { 

 this.gender = gender; 

 } 



//@Id表示这个属性为主键 (可以标注在字段上或是getter属性上) 

 //@GeneratedValue(strategy=GenerationType.AUTO)表示生成主键策略为自增长 ,为默认 

 //下面的两种策略在不同数据库中有些是不支持的所有,最好使用上面的策略它会根据方言自动来识别 

 //@GeneratedValue(strategy=GenerationType.IDENTITY 

 //@GeneratedValue(strategy=GenerationType.SEQUENCE 

 //@GeneratedValue(strategy=GenerationType.TABLE通用效率低 

 //默认的映射字段于实体的属性名相同 

 @Id @GeneratedValue(strategy=GenerationType.AUTO) 

 public Integer getId() { 

 return id; 

 } 

 public void setId(Integer id) { 

 this.id = id; 

 } 



 //指定列类型长度、指定类是否可以为空、指定这个列名称(默认是根据属性名) 

 @Column(length=10,nullable=false,name="myName") 

 public String getName() { 

 return name; 

 } 

 public void setName(String name) { 

 this.name = name; 

 } 



//设置不需要持久化字段 

private String imageFile; 

@Transient//表示这个属性不于数据库字段进行映射 

 public String getImageFile() { 

 return imageFile; 

 } 



@Table(name="myperson")//指定这个表的名称