public enum Gender {
MALE, FEMALE
}
@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 //就是Hibernate持久化数据库时,用@Transient标记出某个字段,这个字段就不会参与对数据库表的操作,是一个辅助字段。
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;
}
java.sql.Date、java.sql.Time和java.sql.Timestamp这三种类型不同,它们表示时间的精确度不同。三者的区别如表所示。
表区别java.sql.Date、java.sql.Time和java.sql.Timestamp类型
java.sql.Date 日期型,精确到年月日,例如“2008-08-08”
java.sql.Time 时间型,精确到时分秒,例如“20:00:00”
java.sql.Timestamp 时间戳,精确到纳秒,例如“2008-08-08 20:00:00.000000001”
//TemporalType.DATE TemporalType.TIME TemporalType.Timestamp
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}
生成_teacher表
Teacher t = new Teacher();
t.setId(1);
t.setName("t1");
t.setTitle("middle");
t.setBirthDate(new Date());
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
t.setGender(Gender.FEMALE);