词条 | Hibernate逍遥游记 |
释义 | 图书信息Hibernate逍遥游记作 者: 孙卫琴 编著 出 版 社: 电子工业出版社 出版时间: 2010-7-1 开 本: 16开 I S B N : 9787121109676 所属分类: 图书 >> 计算机/网络 >> 程序设计 >> Java Java Script J2EE 定价:¥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 创建关系数据库表 悟空在他所熟悉的MySQL关系数据库中创建了一张名为“MONKEYS”的表,表的结构如图1.1所示。 MONKEYS表用来存放猴子的基本信息,比如名字(NAME字段)、年龄(AGE字段)和性别(GENDER字段)。 MONKEYS表中的ID字段为主键(Primary Key,简称PK)。数据库表通过主键来保证每条记录的唯一性,每条记录的ID值都是唯一的。表的主键最好不具有任何业务含义,即不代表特定业务领域的某种信息。任何有业务含义的字段都有可能随着业务需求的变化而被改变。关系数据库学的最重要的理论之一就是:不要给主键赋予任何业务含义,这样可以提高数据库系统的可维护性。 假如主键具有了业务含义,会出现什么情况呢?以MONKEYS表为例,假定把NAME字段作为主键,这是一个具有业务含义的主键。假定一开始用户的业务需求为:NAME字段为6位字符串,过了一年后,用户改变了业务需求,规定NAME字段为8位字符串。当业务需求改变后,就必须修改MONKEYS表中所有记录的NAME主键的值,此外,对于那些参照MONKEYS表,并且把NAME字段作为外键的所有其他表,也需要修改表中所有记录的NAME外键的值。…… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。