– Start
- 我们把与表对应的类称之为实体类,用 @Entity 修饰
- 类名与表名可以不一致,如果不一致,需要使用 @Table 设置
- 每个表都有主键,我们需要用 @Id 修饰主键字段
- 列名和字段名可以不一致,如果不一致,需要使用 @Column 设置
- 如果列和字段类型不匹配,我们需要通过 @Type 告诉 Hibernate 如何进行类型转换
- 如果一个字段在数据库中没有对应的列,需要用 @Transient 修饰
- 每一实体类必须有个无参的构造方法
- 通常我们无需实现 equals() 和 hashCode() 方法,如果要实现,必须与主键一致。
- Hibernate 到底是通过 getter 和 setter 访问字段还是直接访问呢?它根据 @Id 修饰字段还是方法来决定。
package shangbo.hibernate.demo004;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.annotations.Type;
@Entity // 我们把与表对应的类称之为实体类,用 @Entity 修饰
@Table(schema = "HR", name = "CUSTOMER") // 类名与表名可以不一致,如果不一致,需要使用 @Table 设置
public class Customer {
@Id /