持久化类(Persistent Class)
优质
小牛编辑
132浏览
2023-12-01
Hibernate的整个概念是从Java类属性中获取值并将它们保存到数据库表中。 映射文档帮助Hibernate确定如何从类中提取值并使用表和关联字段映射它们。
其对象或实例将存储在数据库表中的Java类在Hibernate中称为持久化类。 如果这些类遵循一些简单的规则(也称为Plain Old Java Object (POJO)编程模型),Hibernate的效果最佳。
持久化类有以下主要规则,但是,这些规则都不是硬性要求 -
将持久化的所有Java类都需要默认构造函数。
所有类都应包含一个ID,以便在Hibernate和数据库中轻松识别您的对象。 此属性映射到数据库表的主键列。
将持久化的所有属性都应声明为private,并且在JavaBean样式中定义了getXXX和setXXX方法。
Hibernate的一个核心功能是代理,它依赖于持久化的类是非final的,或者是声明所有公共方法的接口的实现。
所有不扩展或实现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;
}
}