Hibernate - 持久类
Hibernate 的整个概念是从 Java 类属性中获取值并将它们持久化到数据库表中。 映射文档帮助 Hibernate 确定如何从类中提取值并将它们与表和相关字段进行映射。
其对象或实例将存储在数据库表中的 Java 类在 Hibernate 中称为持久类。 如果这些类遵循一些简单的规则(也称为 Plain Old Java Object (POJO) 编程模型),那么 Hibernate 效果最好。
持久类有以下主要规则,但是,这些规则都不是硬性要求 −
所有将被持久化的 Java 类都需要一个默认构造函数。
所有类都应该包含一个 ID,以便轻松识别 Hibernate 和数据库中的对象。 此属性映射到数据库表的主键列。
所有将被持久化的属性都应该被声明为私有的,并且具有以 JavaBean 样式定义的 getXXX 和 setXXX 方法。
Hibernate 的一个核心特性,代理,取决于持久类要么是非最终的,要么是声明所有公共方法的接口的实现。
不扩展或实现 EJB 框架所需的某些专用类和接口的所有类。
POJO 名称用于强调给定对象是普通 Java 对象,而不是特殊对象,尤其不是 Enterprise JavaBean。
简单的 POJO 示例
基于上面提到的几条规则,我们可以定义一个 POJO 类如下 −
public class Employee {
private int id;
private String firstName;
private String lastName;
private int salary;
public Employee() {}
public Employee(String fname, String lname, int salary) {
this.firstName = fname;
this.lastName = lname;
this.salary = salary;
}
public int getId() {
return id;
}
public void setId( int id ) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName( String first_name ) {
this.firstName = first_name;
}
public String getLastName() {
return lastName;
}
public void setLastName( String last_name ) {
this.lastName = last_name;
}
public int getSalary() {
return salary;
}
public void setSalary( int salary ) {
this.salary = salary;
}
}

