只介绍用Annotation的方式进行映射关系的配置。
1. 如果表名与对象名不一致,则要对表名进行配置。
使用@Table
2. 如果字段名与属性名不一致。
使用@Column
3. 不需要persistentence的字段
使用@Persistentence
4.映射日期与时间类型,指定时间精度
使用@Temporal
默认会直接记录日期与时分秒,可以进行定制。 @Temporal(TemporalType.?),?可以取3个值,DTAE(只记录日期),TIME(记录时分秒),TIMESTAMP(日期与时分秒都记录)。
5.映射枚举类型
使用@Enumerated
@Enumerated(EnumType.?)。?可取STRING、ORIDINAL,STRING表示在数据库中将以string进行储存,直接会储存枚举值。ORIDINAL表示将以数字进行储存,数字为该枚举值在枚举类型定义中所对应的位置。
范例:
@Entity @Table(name="_teacher") public class Teacher { private int id; private String name; private String title; private String yourWifeName; private Date birthDate; private boolean good; private Gender gender; @Enumerated(EnumType.STRING) public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } public boolean isGood() { return good; } public void setGood(boolean good) { this.good = good; } @Transient public String getYourWifeName() { return yourWifeName; } public void setYourWifeName(String yourWifeName) { this.yourWifeName = yourWifeName; } @Id public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @Temporal(TemporalType.TIME) public Date getBirthDate() { return birthDate; } public void setBirthDate(Date birthDate) { this.birthDate = birthDate; } }