书籍详情
Hibernate逍遥游记
作者:孙卫琴 编著
出版社:电子工业出版社
出版时间:2010-07-01
ISBN:9787121109676
定价:¥43.80
购买这本书可以去
内容简介
Hibernate是非常流行的对象-关系映射工具。本书由浅入深地介绍运用目前最成熟的Hibernate 3.3版本进行Java对象持久化的核心技术。本书主要介绍通过Hibernate API来访问数据库的方法,还介绍把Java对象模型映射到关系数据模型的各种技巧、处理并发问题及实现对话的种种方案。本书将帮助读者编写出具有合理的软件架构,以及好的运行性能和并发性能的实用Hibernate应用。书中内容注重理论与实践相结合,列举大量具有典型性和实用价值的Hibernate应用实例,并提供详细的开发和部署步骤。随书配套光盘内容为本书所有范例源程序、本书涉及的软件的最新版本的安装程序。本书在表述方面,引入了中国传统文化中家喻户晓的《西游记》人物孙悟空,以他学习Hibernate为主线,以为花果山实现信息化为案例,带领读者逐步领略Hibernate技术的种种神通妙用,大大增加了书的趣味性。只要读者具备了Java基础知识,就能轻松阅读本书,快速掌握Hibernate技术。
作者简介
孙卫琴知名IT作家·Java系列畅销书的作者。1997年毕业于上海交通大学·随后从事基于Java的软件开发工作,还从事Java方面的培训和咨询工作。2002年开始Java技术领域的创作,其作品深受读者好评·多部作品的发行量在国内同类作品中屡居第一。代表著作有:《Hibernate逍遥游记》2010《精通Hibernate:Java对象持久化技术详解》(第2版)2010《Tomcat与JavaWeb开发技术详解》(第2版)2009《Java网络编程精解》2007《Java面向对象编程》2006《精通Hibernate:Java对象持久化技术详解》2005《精通Struts:基于MVC的Java Web设计与开发》2004《Tomcat与Java Web开发技术详解》2004《Java 2认证考试指南与试题解析》2002
目录
第1章 访问关系数据库的途径
1.1 创建关系数据库表
1.2 访问关系数据库的途径
1.2.1 通过数据库的自带客户程序与数据库服务器交互
1.2.2 通过Java程序与数据库服务器交互
1.3 Java程序通过JDBC API访问数据库
1.4 Java程序通过Hibernate API访问数据库
1.5 Java对象的持久化概念
1.6 小结
第2章 第一个Hibernate应用
2.1 创建Hibernate的配置文件
2.2 创建持久化类
2.3 创建数据库Schema
2.4 创建对象-关系映射文件
2.5 通过Hibernate API操纵数据库
2.5.1 Hibernate的初始化
2.5.2 访问Hibernate的Session接口
2.6 运行monkeys应用
2.6.1 创建运行本书范例的系统环境
2.6.2 创建monkeys应用的目录结构
2.6.3 运行monkeys应用
2.6.4 给monkeys应用加入用户界面
2.7 小结
第3章 对象-关系映射基础
3.1 持久化类的属性及访问方法
3.1.1 基本类型属性和包装类型属性
3.1.2 Hibernate访问持久化类属性的策略
3.1.3 在持久化类的访问方法中加入程序逻辑
3.1.4 设置派生属性
3.1.5 控制insert和update语句
3.2 处理SQL引用标识符
3.3 使用XML格式的配置文件
3.4 运行本章的范例程序
3.5 小结
第4章 映射对象标识符
4.1 关系数据库按主键区分不同的记录
4.1.1 把主键定义为自动增长标识符类型
4.1.2 从序列(Sequence)中获取自动增长的标识符
4.2 Java语言按内存地址区分不同的对象
4.3 Hibernate用对象标识符(OID)来区分对象
4.4 Hibernate的内置标识符生成器的用法
4.4.1 increment标识符生成器
4.4.2 identity标识符生成器
4.4.3 sequence标识符生成器
4.4.4 hilo标识符生成器
4.4.5 native标识符生成器
4.5 映射自然主键
4.6 小结
第5章 映射一对多关联关系
5.1 建立多对一的单向关联关系
5.1.1 关于TransientObjectException异常
5.1.2 级联保存和更新
5.2 映射一对多双向关联关系
5.2.1 [set]元素的inverse属性
5.2.2 级联删除
5.2.3 父子关系
5.3 小结
第6章 通过Hibernate操纵对象
6.1 理解Session的缓存
6.1.1 Session的缓存的作用
6.1.2 脏检查及清理缓存的机制
6.2 Java对象在Hibernate持久化层的状态
6.2.1 临时对象的特征
6.2.2 持久化对象的特征
6.2.3 被删除对象的特征
6.2.4 游离对象的特征
6.3 Session接口的详细用法
6.3.1 Session的save()方法
6.3.2 Session的load()和get()方法
6.3.3 Session的update()方法
6.3.4 Session的saveOrUpdate()方法
6.3.5 Session的merge()方法
6.3.6 Session的delete()方法
6.4 级联操纵对象图
6.5 批量处理数据
6.5.1 通过Session来进行批量操作
6.5.2 通过StatelessSession来进行批量操作
6.5.3 通过HQL来进行批量操作
6.6 Hibernate的二级缓存结构
6.7 小结
第7章 Hibernate的检索策略和检索方式
7.1 Hibernate的检索策略
7.1.1 类级别的检索策略
7.1.2 一对多和多对多关联的检索策略
7.1.3 多对一和一对一关联的检索策略
7.1.4 在应用程序中显式指定迫切左外连接检索策略
7.1.5 比较3种检索策略
7.2 检索方式
7.2.1 HQL检索方式
7.2.2 QBC检索方式
7.2.3 SQL检索方式
7.3 小结
第8章 映射组成关系
8.1 建立精粒度对象模型
8.2 建立粗粒度关系数据模型
8.3 映射组成关系
8.3.1 区分值(Value)类型和实体(Entity)类型
8.3.2 在应用程序中访问具有组成关系的持久化类
8.4 映射复合组成关系
8.5 小结
第9章 Hibernate的映射类型
9.1 Hibernate的内置映射类型
9.1.1 Java基本类型的Hibernate映射类型
9.1.2 Java时间和日期类型的Hibernate映射类型
9.1.3 Java大对象类型的Hibernate映射类型
9.1.4 JDK自带的个别Java类的Hibernate映射类型
9.1.5 使用Hibernate内置映射类型
9.2 客户化映射类型
9.3 用客户化映射类型取代Hibernate组件
9.4 运行范例程序
9.5 小结
第10章 映射继承关系
10.1 继承关系树的每个具体类对应一个表
10.1.1 创建映射文件
10.1.2 操纵持久化对象
10.2 继承关系树的根类对应一个表
10.2.1 创建映射文件
10.2.2 操纵持久化对象
10.3 继承关系树的每个类对应一个表
10.3.1 创建映射文件
10.3.2 操纵持久化对象
10.4 选择继承关系的映射方式
10.5 小结
第11章 Java集合
11.1 Set(集)
11.1.1 Set的一般用法
11.1.2 HashSet类
11.1.3 TreeSet类
11.2 List(列表)
11.3 Map(映射)
11.4 小结
第12章 映射值类型集合
12.1 映射Set(集)
12.2 映射Bag(包)
12.3 映射List(列表)
12.4 映射Map
12.5 对集合排序
12.5.1 在数据库中对集合排序
12.5.2 在内存中对集合排序
12.6 小结
第13章 映射实体关联关系
13.1 映射一对一关联
13.1.1 按照外键映射
13.1.2 按照主键映射
13.2 映射单向多对多关联
13.3 映射双向多对多关联关系
13.3.1 关联两端使用[set]元素
13.3.2 使用组件类集合
13.3.3 把多对多关联分解为两个一对多关联
13.4 小结
第14章 声明数据库事务
14.1 数据库事务的概念
14.2 声明事务边界的方式
14.3 在mysql.exe程序中声明事务
14.4 Java应用通过JDBC API声明事务
14.5 Java应用通过Hibernate API声明事务
14.5.1 处理异常
14.5.2 Session与事务的关系
14.5.3 设定事务超时
14.6 小结
第15章 处理并发问题
15.1 多个事务并发运行时的并发问题
15.1.1 第一类丢失更新
15.1.2 脏读
15.1.3 虚读
15.1.4 不可重复读
15.1.5 第二类丢失更新
15.2 数据库系统的锁的基本原理
15.3 数据库的事务隔离级别
15.3.1 在mysql.exe程序中设置隔离级别
15.3.2 在应用程序中设置隔离级别
15.4 在应用程序中采用悲观锁
15.5 利用Hibernate的版本控制来实现乐观锁
15.5.1 使用[version]元素
15.5.2 使用[timestamp]元素
15.5.3 对游离对象进行版本检查
15.6 实现乐观锁的其他方法
15.7 小结
第16章 管理Session和实现对话
16.1 Hibernate管理Session对象的方式
16.2 Session对象的生命周期与本地线程绑定
16.3 实现对话
16.3.1 使用游离对象
16.3.2 使用手工清理缓存模式下的Session
16.4 Hibernate委托程序来管理Session
16.5 小结
1.1 创建关系数据库表
1.2 访问关系数据库的途径
1.2.1 通过数据库的自带客户程序与数据库服务器交互
1.2.2 通过Java程序与数据库服务器交互
1.3 Java程序通过JDBC API访问数据库
1.4 Java程序通过Hibernate API访问数据库
1.5 Java对象的持久化概念
1.6 小结
第2章 第一个Hibernate应用
2.1 创建Hibernate的配置文件
2.2 创建持久化类
2.3 创建数据库Schema
2.4 创建对象-关系映射文件
2.5 通过Hibernate API操纵数据库
2.5.1 Hibernate的初始化
2.5.2 访问Hibernate的Session接口
2.6 运行monkeys应用
2.6.1 创建运行本书范例的系统环境
2.6.2 创建monkeys应用的目录结构
2.6.3 运行monkeys应用
2.6.4 给monkeys应用加入用户界面
2.7 小结
第3章 对象-关系映射基础
3.1 持久化类的属性及访问方法
3.1.1 基本类型属性和包装类型属性
3.1.2 Hibernate访问持久化类属性的策略
3.1.3 在持久化类的访问方法中加入程序逻辑
3.1.4 设置派生属性
3.1.5 控制insert和update语句
3.2 处理SQL引用标识符
3.3 使用XML格式的配置文件
3.4 运行本章的范例程序
3.5 小结
第4章 映射对象标识符
4.1 关系数据库按主键区分不同的记录
4.1.1 把主键定义为自动增长标识符类型
4.1.2 从序列(Sequence)中获取自动增长的标识符
4.2 Java语言按内存地址区分不同的对象
4.3 Hibernate用对象标识符(OID)来区分对象
4.4 Hibernate的内置标识符生成器的用法
4.4.1 increment标识符生成器
4.4.2 identity标识符生成器
4.4.3 sequence标识符生成器
4.4.4 hilo标识符生成器
4.4.5 native标识符生成器
4.5 映射自然主键
4.6 小结
第5章 映射一对多关联关系
5.1 建立多对一的单向关联关系
5.1.1 关于TransientObjectException异常
5.1.2 级联保存和更新
5.2 映射一对多双向关联关系
5.2.1 [set]元素的inverse属性
5.2.2 级联删除
5.2.3 父子关系
5.3 小结
第6章 通过Hibernate操纵对象
6.1 理解Session的缓存
6.1.1 Session的缓存的作用
6.1.2 脏检查及清理缓存的机制
6.2 Java对象在Hibernate持久化层的状态
6.2.1 临时对象的特征
6.2.2 持久化对象的特征
6.2.3 被删除对象的特征
6.2.4 游离对象的特征
6.3 Session接口的详细用法
6.3.1 Session的save()方法
6.3.2 Session的load()和get()方法
6.3.3 Session的update()方法
6.3.4 Session的saveOrUpdate()方法
6.3.5 Session的merge()方法
6.3.6 Session的delete()方法
6.4 级联操纵对象图
6.5 批量处理数据
6.5.1 通过Session来进行批量操作
6.5.2 通过StatelessSession来进行批量操作
6.5.3 通过HQL来进行批量操作
6.6 Hibernate的二级缓存结构
6.7 小结
第7章 Hibernate的检索策略和检索方式
7.1 Hibernate的检索策略
7.1.1 类级别的检索策略
7.1.2 一对多和多对多关联的检索策略
7.1.3 多对一和一对一关联的检索策略
7.1.4 在应用程序中显式指定迫切左外连接检索策略
7.1.5 比较3种检索策略
7.2 检索方式
7.2.1 HQL检索方式
7.2.2 QBC检索方式
7.2.3 SQL检索方式
7.3 小结
第8章 映射组成关系
8.1 建立精粒度对象模型
8.2 建立粗粒度关系数据模型
8.3 映射组成关系
8.3.1 区分值(Value)类型和实体(Entity)类型
8.3.2 在应用程序中访问具有组成关系的持久化类
8.4 映射复合组成关系
8.5 小结
第9章 Hibernate的映射类型
9.1 Hibernate的内置映射类型
9.1.1 Java基本类型的Hibernate映射类型
9.1.2 Java时间和日期类型的Hibernate映射类型
9.1.3 Java大对象类型的Hibernate映射类型
9.1.4 JDK自带的个别Java类的Hibernate映射类型
9.1.5 使用Hibernate内置映射类型
9.2 客户化映射类型
9.3 用客户化映射类型取代Hibernate组件
9.4 运行范例程序
9.5 小结
第10章 映射继承关系
10.1 继承关系树的每个具体类对应一个表
10.1.1 创建映射文件
10.1.2 操纵持久化对象
10.2 继承关系树的根类对应一个表
10.2.1 创建映射文件
10.2.2 操纵持久化对象
10.3 继承关系树的每个类对应一个表
10.3.1 创建映射文件
10.3.2 操纵持久化对象
10.4 选择继承关系的映射方式
10.5 小结
第11章 Java集合
11.1 Set(集)
11.1.1 Set的一般用法
11.1.2 HashSet类
11.1.3 TreeSet类
11.2 List(列表)
11.3 Map(映射)
11.4 小结
第12章 映射值类型集合
12.1 映射Set(集)
12.2 映射Bag(包)
12.3 映射List(列表)
12.4 映射Map
12.5 对集合排序
12.5.1 在数据库中对集合排序
12.5.2 在内存中对集合排序
12.6 小结
第13章 映射实体关联关系
13.1 映射一对一关联
13.1.1 按照外键映射
13.1.2 按照主键映射
13.2 映射单向多对多关联
13.3 映射双向多对多关联关系
13.3.1 关联两端使用[set]元素
13.3.2 使用组件类集合
13.3.3 把多对多关联分解为两个一对多关联
13.4 小结
第14章 声明数据库事务
14.1 数据库事务的概念
14.2 声明事务边界的方式
14.3 在mysql.exe程序中声明事务
14.4 Java应用通过JDBC API声明事务
14.5 Java应用通过Hibernate API声明事务
14.5.1 处理异常
14.5.2 Session与事务的关系
14.5.3 设定事务超时
14.6 小结
第15章 处理并发问题
15.1 多个事务并发运行时的并发问题
15.1.1 第一类丢失更新
15.1.2 脏读
15.1.3 虚读
15.1.4 不可重复读
15.1.5 第二类丢失更新
15.2 数据库系统的锁的基本原理
15.3 数据库的事务隔离级别
15.3.1 在mysql.exe程序中设置隔离级别
15.3.2 在应用程序中设置隔离级别
15.4 在应用程序中采用悲观锁
15.5 利用Hibernate的版本控制来实现乐观锁
15.5.1 使用[version]元素
15.5.2 使用[timestamp]元素
15.5.3 对游离对象进行版本检查
15.6 实现乐观锁的其他方法
15.7 小结
第16章 管理Session和实现对话
16.1 Hibernate管理Session对象的方式
16.2 Session对象的生命周期与本地线程绑定
16.3 实现对话
16.3.1 使用游离对象
16.3.2 使用手工清理缓存模式下的Session
16.4 Hibernate委托程序来管理Session
16.5 小结
猜您喜欢