Hibernate基础配置总结(待完善)
一、表名和类名不一致的时候
1、Annotation方法:添加@Table(name="实际数据库的表名")注释(注意,是javax.persistence标准的);
2、xml方法:
二、字段名和属性名不同的时候
1、Annotation方法:添加@Column(name="实际数据库的字段名");
2、xml方法:
三、不需要将实体类中的某个属性存到数据库中
1、Annotation方法:添加@Transient注解
2、xml方法:不写对应xml配置文件;
四、日期时间的映射
1、Annotation方法:添加@Temporal(Temporal.XXX)指定时间精度;
2、xml方法:指定type
五、映射枚举类型
1、Annotation方法:添加@Enumerated(value=EnumType.XXX)指定枚举类型的映射类别;
2、xml方法:很麻烦;
示例代码:
package yan;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
@Entity
public class Teacher {
private int id;
private String name;
private String title;
private String wifeName;
private Date time;
private Career c;
@Temporal(TemporalType.DATE)
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
@Transient
public String getWifeName() {
return wifeName;
}
public void setWifeName(String wifeName) {
this.wifeName = wifeName;
}
@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;
}
@Enumerated(EnumType.STRING)
public Career getC() {
return c;
}
public void setC(Career c) {
this.c = c;
}
}