Hibernate参考手册3.5.3(中文版)
《Hibernate参考手册3.5.3(中文版)》提供了深入理解Hibernate框架所需的核心知识,该框架是Java领域内用于关系型数据库持久化的顶级解决方案。本文将基于标题、描述及部分内容,提炼出以下关键知识点: ### 一、Hibernate入门与应用开发 #### 1.1 第一部分—第一个Hibernate应用程序 - **设置**:介绍了搭建开发环境的基本步骤,包括IDE的选择、项目创建、依赖库添加等。 - **第一个class**:展示了如何创建第一个持久化类,即被Hibernate管理的对象。 - **映射文件**:阐述了Hibernate配置文件(如`hibernate.cfg.xml`)和实体映射文件(如`.hbm.xml`)的编写。 - **Hibernate配置**:详述了如何配置SessionFactory,以及如何通过配置文件指定数据库连接、Dialect等信息。 - **用Maven构建**:讲解了如何利用Maven管理项目依赖和构建过程。 - **启动和辅助类**:涉及了SessionFactory、Session、Transaction等核心接口的使用,以及如何在程序中初始化这些对象。 - **加载并存储对象**:演示了如何使用Session进行数据的增删改查操作。 #### 1.2 第二部分—关联映射 - **映射Person类**:以Person类为例,介绍了一对一、一对多、多对多等关系的映射方法。 - **单向Set-based的关联**:探讨了如何实现单向的一对多关联,以及如何在映射文件中定义集合类型。 - **使关联工作**:解释了如何在实体类之间建立关联关系,并在Hibernate中正确地保存和检索这些关系。 - **值类型的集合**:讨论了如何将基本类型或值对象的集合映射到数据库中。 - **双向关联**:深入分析了双向关联的实现方式,包括如何避免无限递归的问题。 - **使双向连起来**:具体指导如何在实体类间实现双向引用,以及在Hibernate中正确处理这些引用。 #### 1.3 第三部分-EventManagerweb应用程序 - **编写基本的servlet**:概述了如何创建Servlet,以及如何集成Hibernate进行数据持久化。 - **处理与渲染**:介绍了请求处理流程,以及如何将查询结果渲染成Web页面。 - **部署与测试**:指导了如何将应用部署到服务器,并执行功能测试和性能测试。 ### 二、Hibernate体系结构与配置 #### 2.体系结构(Architecture) - **概况(Overview)**:概览Hibernate的整体架构,包括SessionFactory、Session、Transaction等核心组件的作用和交互方式。 - **实例状态**:描述了持久化对象的三种状态:瞬时态、持久态和脱管态,以及状态转换的机制。 - **JMX整合**:介绍了如何使用JMX监控Hibernate的运行状态。 - **对JCA的支持**:探讨了Hibernate如何与Java Connector Architecture(JCA)适配器交互,以实现资源管理。 - **上下文相关的会话(Contextual Session)**:讲解了如何在Web环境中使用ThreadLocal来维护会话。 #### 3.配置 - **可编程的配置方式**:探讨了使用代码而非XML文件进行配置的方法。 - **获得SessionFactory**:详细说明了SessionFactory的创建和配置过程。 - **JDBC连接**:介绍了如何配置数据库连接池,以及如何指定JDBC驱动和URL。 - **可选的配置属性**:列出了多种可配置选项,如SQL方言、外连接抓取、二进制流处理等。 - **二级缓存与查询缓存**:讲解了缓存的原理,以及如何在Hibernate中启用和配置缓存。 - **查询语言中的替换**:讨论了如何在HQL或SQL查询中使用参数占位符。 - **Hibernate的统计(statistics)机制**:介绍了Hibernate如何收集和报告性能统计数据。 - **日志**:阐述了如何配置日志框架,以便记录Hibernate的运行信息。 - **实现NamingStrategy**:讲解了如何自定义命名策略,以符合特定的数据库命名规则。 - **XML配置文件**:详细解析了Hibernate配置文件的结构和语法。 - **J2EE应用程序服务器的集成**:说明了如何在J2EE环境下部署Hibernate应用,包括事务策略配置、JNDI绑定、JTA支持等。 ### 三、持久化类(Persistent Classes) - **一个简单的POJO例子**:展示了如何创建符合Hibernate持久化要求的普通Java对象。 - **实现继承(Inheritance)**:讲解了如何在Hibernate中实现不同类型的继承模式。 - **实现equals()和hashCode()方法**:强调了为什么需要重写这两个方法,以及正确的实现方式。 - **动态模型(Dynamic models)**:探讨了如何在运行时动态地创建和修改实体类。 - **元组片断映射(Tuplizers)**:解释了如何自定义结果集到实体对象的转换逻辑。 ### 四、对象/关系数据库映射基础(Basic O/R Mapping) - **映射定义(Mapping declaration)**:详细解析了映射文件的结构,包括根元素、类元素、属性元素等。 - **Doctype**:介绍了映射文件的DTD或Schema信息。 - **Hibernate-mapping**:描述了映射文件的根元素,及其包含的全局属性和子元素。 - **类**:讲解了如何映射Java类到数据库表。 - **id**:探讨了主键的生成策略,以及如何在映射文件中定义id元素。 - **增强的标识符生成器**:介绍了一些高级的主键生成策略,如sequence、table等。 - **标识符生成器的优化**:讲解了如何选择最合适的主键生成策略,以提高性能和可移植性。 - **composite-id**:讲解了如何使用复合主键。 - **鉴别器(discriminator)**:解释了在继承映射中,如何使用鉴别器区分不同的子类。 - **版本(version)(可选)**:介绍了乐观锁机制,以及如何使用版本属性进行冲突检测。 - **timestamp(可选)**:讨论了另一种实现乐观锁的方式,即使用时间戳字段。 - **Property**:描述了如何映射Java类的属性到数据库表的列。 - **多对一(many-to-one)**:探讨了如何映射多对一的关系,以及外键的处理方式。 - **一对一**:讲解了一对一关系的映射方法,以及如何选择适当的关联方式(如共享主键、额外关联表等)。 - **自然ID(natural-id)**:介绍了如何使用业务属性作为对象的唯一标识。 - **组件(component)和动态组件(dynamic-component)**:讲解了如何将复杂对象映射为数据库表的多个列。 - **属性(Properties)**:解释了如何使用嵌套属性映射,以及如何处理属性的嵌套层次。 - **子类(subclass)**:探讨了在继承映射中,如何映射子类的特有属性。 通过以上知识点的梳理,读者可以全面了解Hibernate框架的核心概念、架构设计、配置细节以及具体的使用场景,为进一步掌握Hibernate的高级特性打下坚实的基础。















- 粉丝: 104
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 移动互联网媒体介绍V(1).pptx
- matlab的人脸识别技术的实现(1)(1).doc
- 数据库设计在网站开发中的应用(1).docx
- 计算机及信息技术发展史(1).docx
- 基于matlab的数字信号处理软件平台在地球物理学科教学中的尝试与探索(1).docx
- 电子商务创新性教学思索(1).docx
- 互联网在轨道交通信号及控制专业教学中的应用探索(1).docx
- 【推荐下载】工业革命颠覆军事-人工智能成美国主导军事地位的核心(1).pdf
- 本科毕业设计论文--基于plc的垂直循环式立体车库设计(1).doc
- 人工智能在中建财务管理中的应用及思考(1).docx
- 基于互联网的信托公司业务转型发展研究(1).docx
- 互联网带货法律风险的探讨(1).docx
- 机械设计制造及自动化专业毕业设计说明书—齿轮传动建模与仿真(1)(1).doc
- 《Java面向对象课件》(1).ppt
- 大学校园通信基础网络建设方案(1).doc
- 计算机顶岗实习报告(通用15篇)(1).doc


