- Hibernate 教程
- Hibernate - 首页
- ORM - 概述
- Hibernate - 概述
- Hibernate - 架构
- Hibernate - 环境
- Hibernate - 配置
- Hibernate - 会话
- Hibernate - 持久化类
- Hibernate - 映射文件
- Hibernate - 映射类型
- Hibernate - 示例
- Hibernate - O/R 映射
- Hibernate - 级联类型
- Hibernate - 注解
- Hibernate - 查询语言
- Hibernate - Criteria 查询
- Hibernate - 原生 SQL
- Hibernate - 缓存
- Hibernate - 实体生命周期
- Hibernate - 批量处理
- Hibernate - 拦截器
- Hibernate - ID 生成器
- Hibernate - 保存图片
- Hibernate - log4j 集成
- Hibernate - Spring 集成
- Hibernate - Struts 2 集成
- Hibernate - Web 应用
- 映射表示例
- Hibernate - 表继承策略(每个层次结构一张表)
- Hibernate - 表继承策略(每个具体类一张表)
- Hibernate - 表继承策略(每个子类一张表)
- Hibernate 有用资源
- Hibernate - 问答
- Hibernate - 快速指南
- Hibernate - 有用资源
- Hibernate - 讨论
Hibernate - 持久化类
Hibernate 的核心概念是从 Java 类属性中获取值并将其持久化到数据库表中。映射文档帮助 Hibernate 确定如何从类中提取值并将其与表和关联字段映射。
其对象或实例将存储在数据库表中的 Java 类在 Hibernate 中称为持久化类。如果这些类遵循一些简单的规则(也称为**普通旧 Java 对象**(POJO)编程模型),Hibernate 的工作效果最佳。
持久化类有以下主要规则,但是,这些规则都不是硬性要求:
所有将被持久化的 Java 类都需要一个默认构造函数。
所有类都应该包含一个 ID,以便在 Hibernate 和数据库中轻松识别您的对象。此属性映射到数据库表的 primary key 列。
所有将被持久化的属性都应声明为 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;
}
}
广告