Hibernate Reference Documentation
需积分: 0 86 浏览量
更新于2008-07-18
收藏 1020KB PDF 举报
### Hibernate Reference Documentation 知识点解析
#### 一、引言
**1.1 引言**
- **目的与背景**:本章节旨在为读者提供一个关于Hibernate框架的基础概述,帮助初学者理解Hibernate的基本概念及其在Java开发中的作用。
- **内容概览**:包括了如何构建第一个Hibernate应用,以及简单的类映射、配置等方面的内容。
**1.2 第一个Hibernate应用**
- **1.2.1 第一个类**:介绍如何创建第一个用于持久化的Java类,通常会包含基本属性如id和其他业务相关的字段,并实现必要的构造器和getter/setter方法。
- **1.2.2 映射文件**:解释什么是Hibernate映射文件(`.hbm.xml`),它如何定义Java类与数据库表之间的映射关系。
- **1.2.3 Hibernate配置**:说明如何通过`hibernate.cfg.xml`等配置文件来配置Hibernate环境,包括数据库连接设置、缓存策略等。
- **1.2.4 使用Ant构建**:介绍如何使用Ant工具自动执行构建过程,如编译代码、部署应用程序等。
- **1.2.5 启动与辅助类**:讲解如何初始化Hibernate SessionFactory以及常用的一些辅助类和工具方法。
- **1.2.6 加载与存储对象**:阐述如何使用Hibernate API来加载、保存、更新或删除持久化对象。
**1.3 映射关联**
- **1.3.1 映射Person类**:展示如何将一个实体类(例如Person)与其相关联的其他实体进行映射。
- **1.3.2 单向基于集合的关联**:解释单向关联的概念,并使用`Set`作为关联的集合类型。
- **1.3.3 操作关联**:演示如何通过Hibernate操作这些关联关系。
- **1.3.4 值集合**:介绍如何映射实体的集合属性,如`Set`或`List`等。
- **1.3.5 双向关联**:讨论双向关联的概念及其实现方式,强调在双向关联中需要注意的点。
- **1.3.6 双向链接的操作**:说明如何在双向关联中进行增删改查操作,确保数据的一致性。
**1.4 EventManager Web应用**
- **1.4.1 编写基础Servlet**:介绍如何创建处理HTTP请求的基本Servlet。
- **1.4.2 处理与渲染**:讲解如何处理请求并渲染响应内容。
- **1.4.3 部署与测试**:说明如何将应用部署到Web服务器上,并进行基本的功能性测试。
**1.5 总结**
- **要点回顾**:总结本章学习的重点,帮助读者巩固所学知识。
#### 二、架构
**2.1 概览**
- **架构组件**:介绍Hibernate框架的主要组成部分,包括SessionFactory、Session、Transaction等核心概念。
- **工作流程**:阐述Hibernate的工作流程,如何管理对象的状态变化。
**2.2 实例状态**
- **持久化状态**:定义对象的三种状态之一,即持久化状态,解释其特点和应用场景。
- **游离状态**:定义游离状态及其与持久化状态的区别。
- **临时状态**:定义临时状态,通常是新创建的对象尚未被持久化。
**2.3 JMX集成**
- **监控与管理**:介绍如何通过JMX监控Hibernate的运行时行为。
**2.4 JCA支持**
- **连接工厂**:说明如何通过JCA连接工厂来获取数据库连接。
**2.5 上下文Session**
- **事务管理**:介绍如何在事务边界内管理和使用Session。
#### 三、配置
**3.1 程序化配置**
- **配置选项**:介绍如何通过Java代码进行Hibernate的配置。
**3.2 获取SessionFactory**
- **配置流程**:解释如何配置并获取SessionFactory实例。
**3.3 JDBC连接**
- **连接池**:介绍如何配置和使用JDBC连接池。
**3.4 可选配置属性**
- **SQL方言**:解释Hibernate如何根据不同的数据库类型选择合适的SQL方言。
- **外连接获取**:讨论Hibernate如何优化查询性能,尤其是在多表关联的情况下。
- **二进制流**:说明如何处理二进制数据。
- **二级缓存与查询缓存**:介绍Hibernate如何利用缓存提高性能。
- **查询语言替换**:解释如何使用HQL(Hibernate Query Language)的替换特性。
- **统计信息**:展示如何启用和查看Hibernate的统计信息。
**3.5 日志**
- **日志框架**:介绍Hibernate如何与各种日志框架(如Log4j、SLF4J等)集成。
**3.6 实现NamingStrategy**
- **命名策略**:说明如何自定义Hibernate的命名策略,如表名、字段名等。
**3.7 XML配置文件**
- **配置示例**:给出具体的XML配置文件示例,展示如何配置SessionFactory等。
**3.8 J2EE应用服务器集成**
- **事务策略配置**:说明如何在应用服务器环境中配置事务管理策略。
- **JNDI绑定SessionFactory**:介绍如何使用JNDI绑定SessionFactory。
- **JTA会话上下文管理**:解释如何在JTA环境中管理当前会话。
- **JMX部署**:说明如何通过JMX部署和管理Hibernate。
#### 四、持久化类
**4.1 简单的POJO示例**
- **4.1.1 无参数构造器**:强调为什么需要为持久化类提供无参数构造器。
- **4.1.2 标识符属性**:解释标识符属性的作用及其实现方式。
- **4.1.3 非最终类**:建议使用非final类的原因。
- **4.1.4 访问器和修改器**:介绍getter和setter方法的编写规范。
**4.2 实现继承**
- **继承策略**:介绍Hibernate支持的几种继承映射策略,如single-table、joined-table等。
**4.3 实现equals()和hashCode()**
- **对象比较**:说明如何重写equals()和hashCode()方法以确保对象的正确比较。
**4.4 动态模型**
- **动态映射**:解释Hibernate如何支持动态创建的映射。
**4.5 Tuplizers**
- **定制序列化**:介绍如何通过Tuplizers实现对结果集的自定义序列化。
#### 五、基本O/R映射
**5.1 映射声明**
- **5.1.1 Doctype**:介绍映射文件的文档类型声明。
- **5.1.1.1 EntityResolver**:解释EntityResolver的作用。
- **5.1.2 hibernate-mapping**:说明`hibernate-mapping`元素的作用。
- **5.1.3 class**:介绍`class`元素如何定义实体类与数据库表的映射关系。
- **5.1.4 id**:解释`id`元素如何定义主键的生成策略。
- **5.1.4.1 Generator**:描述不同类型的Generator及其用途。
- **5.1.4.2 Hi/lo算法**:解释Hi/lo算法的原理及其应用场景。
- **5.1.4.3 UUID算法**:介绍UUID算法的特点及其实现方式。
pansonphy
- 粉丝: 1
- 资源: 18
最新资源
- libmudflap-devel-4.8.5-44.el7.x64-86.rpm.tar.gz
- libmudflap-static-4.8.5-44.el7.x64-86.rpm.tar.gz
- libmusicbrainz-2.1.5-17.el7.x64-86.rpm.tar.gz
- libmusicbrainz-devel-2.1.5-17.el7.x64-86.rpm.tar.gz
- libmusicbrainz5-5.0.1-9.el7.x64-86.rpm.tar.gz
- libmusicbrainz5-devel-5.0.1-9.el7.x64-86.rpm.tar.gz
- 2.2kW直流无刷电机控制器全套资料,多重保护系统,适应多种电压与电流调节需求,2.2kW直流无刷电机控制器(量产) 含源码 原理图 pcb 接线、软件、io分配等说明文件 系统电压24-90V 最大
- 西门子PLC伺服大型多轴控制系统:Modbus通讯、气缸与机械手协同作业,完整触摸屏程序与机械结构图,西门子PLC伺服大型20轴程序modbus通讯RS232通讯MES通讯气缸,通讯,机械手,模拟量等
- 西门子PID压力燃油系统变频器G120 Modbus RTU通讯详解:PLC 1200与变频器联动控制,含触摸屏操作及参数配置指南,西门子PID压力燃油系统变频器G120modbus rtu通讯原创
- STM32F107单片机驱动Dp83848以太网芯片配置指南:轻松上手程序代码示例,STM32F107单片机驱动Dp83848以太网芯片程序 项目开发用到了Dp83848这一个以太网芯片,本人发现其配
- 西门子PLC新手入门项目程序-含触摸屏编程案例与成熟稳定应用实践,西门子PLC新手项目程序(含触摸屏程序) 此定长切纸程序已经实际设备上批量应用,程序成熟可靠,借鉴价值高,程序简单、有注释、非常
- libmwaw-0.3.5-1.el7.x64-86.rpm.tar.gz
- libmwaw-devel-0.3.5-1.el7.x64-86.rpm.tar.gz
- 灰狼优化算法GWO优化LSSVM参数c和g实战例子:Windows系统下的参数调优,简单粗暴,上手易行,灰狼优化算法GWO优化LSSVM最小二乘支持向量机惩罚参数c和核函数参数g,有例子,易上手,简单
- libmwaw-doc-0.3.5-1.el7.x64-86.rpm.tar.gz
- libmwaw-tools-0.3.5-1.el7.x64-86.rpm.tar.gz