Hibernate开发与实战

Hibernate开发与实战 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:刘伟
出品人:
页数:441
译者:
出版时间:2009-9
价格:69.00元
装帧:
isbn号码:9787121092848
丛书系列:
图书标签:
  • 计算机
  • 编程
  • Java
  • Hibernate
  • JPA
  • Java持久化
  • ORM
  • 数据库
  • 开发
  • 实战
  • Spring
  • MySQL
  • JavaEE
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Hibernate开发与实战》采用理论阐述、实例项目、视频讲解相结合的方式,全面讲解了Hibernate Core、Hibernate Annotations、Hibernate Search、Hibernate EntityManager等内容。

全书共23章。第1~18章,讲解Hibernate Core的内容。第19章讲解Hibernate Annotations内容。第19章讲解Hibernate Anonations和Hibernate EntityManager的内容。第20章讲解Hibernate Search的内容。第21章讲解Hibernate与Struts 2框架如何进行整合开发。第22章讲解Hibernate与Spring框架如何进行整合开发。第23章,则详细讲解如何组合运用Hibernate、Struts 2和Spring框架,开发一个完整的网络博客系统。

全书结构严谨,层次清晰,语言生动,论述精准而深刻,程序实例丰富实用。《Hibernate开发与实战》需要读者具有Java编程语言和HTML的基础。《Hibernate开发与实战》还提供了大量的实例代码,读者可以自由使用,这些代码非常实用,适合解决Hibernate开发中的实际问题。《Hibernate开发与实战》不仅适合用作普通高校或职业培训教材,更是Hibernate初学者和开发者的首选参考书。

《现代软件架构设计与实践》 引言:驾驭复杂性,构建稳健系统 在当今快速迭代的软件开发领域,系统架构已不再是孤立的技术选型,而是决定产品生命力与企业竞争力的核心要素。项目规模的日益庞大、业务需求的快速变化以及对高可用性、高性能的严苛要求,使得传统的单体架构逐渐暴露出其局限性。本书《现代软件架构设计与实践》正是在这样的背景下应运而生,它旨在为一线架构师、高级开发人员以及技术管理者提供一套系统、深入且实战性强的架构设计方法论与工具箱。 本书不聚焦于任何特定的ORM框架或数据持久化技术,而是着眼于更宏观、更底层的架构决策制定过程、评估标准以及演进路径。我们相信,一个健壮的系统建立在清晰的结构、合理的职责划分和灵活的通信机制之上,而不仅仅是某个技术栈的精湛运用。 第一部分:架构思维与基础理论的重塑 (Architecture Mindset and Fundamentals) 本部分旨在帮助读者建立正确的架构师视角,理解架构的本质和目标。 第一章:架构的定义与价值 本章深入探讨“架构”的真正含义,它不仅仅是系统的高层视图,更是对权衡(Trade-offs)的艺术性表达。我们将分析架构决策对系统质量属性(如性能、可维护性、可扩展性、安全性)的影响。重点讨论如何将业务需求转化为清晰的架构约束和目标。我们将引入“架构驱动”与“演进式架构”的概念对比,强调在需求不确定的环境中,如何通过持续的反馈循环来指导架构的迭代。 第二章:质量属性与非功能性需求分析 软件系统的成败往往取决于其非功能性需求的满足程度。本章详细解析一系列关键质量属性,如延迟(Latency)、吞吐量(Throughput)、弹性(Resilience)、可观察性(Observability)和可部署性(Deployability)。我们将介绍量化这些属性的方法,例如使用场景驱动的质量属性需求工程(Scenario-Based Quality Attribute Workshops, QAW),确保架构设计能够真正落地解决业务痛点。 第三章:架构视图与文档标准 清晰的沟通是架构成功的一半。本章系统介绍多种架构视图模型,包括但不限于C4模型(Context, Container, Component, Code)和4+1视图模型。我们将指导读者如何根据不同的受众(业务方、开发团队、运维团队)选择最合适的视图,并提供一套实用的架构文档模板,确保知识的有效沉淀和传递,避免“知识黑洞”。 第二章:架构模式的深度剖析 (Deep Dive into Architectural Patterns) 本部分是本书的核心,专注于当前主流且经过验证的架构范式,它们是应对不同复杂度挑战的成熟解决方案。 第四章:宏观的划分:单体、分层与模块化 虽然微服务风头正盛,但理解经典的分层架构(如三层、洋葱架构/清洁架构)依然至关重要。本章分析如何在一个单体内部实现高度的模块化,通过明确的边界和依赖反转原则(Dependency Inversion Principle)来提高代码的可测试性和可替换性。我们将深入探讨如何识别“真模块”与“伪模块”,以及何时采用“垂直切分”而非简单的水平拆分。 第五章:面向业务边界的解耦:服务化与微服务架构 本章全面解析服务化(Service-Oriented Architecture, SOA)到微服务架构(Microservices Architecture, MSA)的演进历程。重点讨论服务边界的划定原则(如DDD中的限界上下文)、服务间通信协议的选择(RESTful, gRPC, 异步消息)以及数据策略的复杂性(如Saga模式、数据一致性挑战)。 第六章:事件驱动架构(EDA)与响应式系统 在需要高并发、实时响应和高度解耦的场景下,事件驱动架构展现出巨大潜力。本章深入探讨EDA的核心组件:事件发布、事件代理(Event Broker)和事件消费者。我们将详细介绍响应式宣言(The Reactive Manifesto),并展示如何利用Actor模型或基于消息队列的模式来实现高弹性、高弹性的流式处理系统。 第七章:数据一致性与事务管理 在分布式系统中,ACID事务的边界被打破,这是架构师面临的最大挑战之一。本章专注于解决跨服务的数据一致性问题。内容涵盖BASE理论的实际应用、BASE事务的实现策略(如两阶段提交的替代方案、补偿事务Saga),以及如何设计幂等性接口来应对消息重试,确保最终一致性的可靠落地。 第三部分:基础设施与运营的架构支撑 (Infrastructure and Operationalizing Architecture) 好的架构必须能够被高效地构建、部署和监控。本部分聚焦于支撑上层应用架构的DevOps和云原生技术栈。 第八章:云原生基础设施与容器化战略 本章探讨Docker和Kubernetes(K8s)在现代架构中的地位。我们将分析如何利用容器化来标准化开发、测试和生产环境,以及K8s如何提供自愈能力、服务发现和负载均衡。重点讨论在K8s上部署有状态服务(如数据库集群)的挑战与最佳实践。 第九章:弹性、可观测性与混沌工程 系统上线并非终点,而是持续优化的开始。本章聚焦于系统的“健壮性”维度。我们将系统地介绍可观测性的三大支柱:Metrics(指标)、Logs(日志)和Traces(追踪),并探讨分布式追踪系统(如OpenTelemetry)的应用。最后,我们将引入混沌工程(Chaos Engineering)的概念,指导读者如何主动测试系统的故障容忍能力,而非被动等待灾难发生。 第十章:架构治理与技术债务管理 架构并非一成不变,需要持续的治理。本章讨论如何建立有效的架构评审流程,如何衡量架构健康度,以及如何系统性地管理和偿还技术债务。我们将提供一套实用的框架,用于识别被忽视的架构风险点,并将其转化为可量化的改进项目,确保架构演进方向与业务战略保持一致。 结语:架构师的持续进化 本书提供了一套全面的、非特定于框架的架构设计蓝图。掌握这些原则和模式,将使读者能够在面对任何新的技术浪潮时,保持清晰的判断力,为构建下一代高可靠、高性能的企业级应用打下坚实的基础。 适合读者: 资深后端工程师与技术骨干 期望从开发走向架构的角色转型者 软件项目经理与技术负责人 任何关注系统稳定性和扩展性的技术决策者

作者简介

目录信息

第1章 Hibernate起源 1
1.1 ORM框架 1
1.2 ORM核心理念 2
1.3 持久层概念 3
1.4 Hibernate 3
1.4.1 Hibernate Core 4
1.4.2 Hibernate Annotations 4
1.4.3 Hibernate EntityManager 4
1.4.4 Hibernate Search 4
1.4.5 Hibernate Shards 4
1.4.6 Hibernate Validator 5
1.4.7 Hibernate Tools 5
1.4.8 NHibernate 5
1.4.9 JBoss Seam 5
1.5 下载Hibernate 5
1.6 使用Hibernate的第1个例子 6
1.6.1 建立guestbook表 6
1.6.2 新建chapter01_first项目 7
1.6.3 项目文件列表 8
1.6.4 编写hibernate.cfg.xml 9
1.6.5 编写Guestbook.java 10
1.6.6 编写Guestbook.hbm.xml 11
1.6.7 HibernateTest.java 13
1.6.8 运行HibernateTest程序 14
1.6.9 chapter01_first项目的运行过程 14
第2章 Hibernate的核心接口与类 16
2.1 Configuration类 16
2.1.1 Hibernate配置文件 17
2.1.2 在应用程序中设置新的属性值 18
2.1.3 Hibernate的核心配置信息 18
2.1.4 数据库方言类 19
2.2 SessionFactory接口 20
2.3 Session接口 20
2.3.1 save()方法 21
2.3.2 get()方法 21
2.3.3 load()方法 22
2.3.4 update()方法 22
2.3.5 delete()方法 23
2.4 Transaction接口 24
2.5 Query接口 24
2.6 Criteria接口 25
2.7 使用MyEclipse可视化开发
Hibernate实例 25
2.7.1 设置MyEclipse连接Oracle数据库 26
2.7.2 新建项目并增加Hibernate开发支持 28
2.7.3 自动生成Guestbook类与映射文件 31
2.7.4 编写HibernateSessionFactoryUtil.java文件 35
2.7.5 编写HibernateTest.java 36
2.7.6 程序运行结果 37
2.7.7 使用HQL编辑器调试HQL语句 38
2.8 Hibernate应用的开发方式 40
2.8.1 自底向上,从数据库表到持久化类 40
2.8.2 自上向下,持久化类到数据库表 40
2.8.3 从中间出发,向上与向下发展 40
2.9 设置Hibernate使用连接池 40
2.9.1 设置使用Tomcat中的连接池 40
2.9.2 使用C3P0连接池 41
2.9.3 使用自定义连接池 41
2.10 使用C3P0连接池 41
2.10.1 创建chapter02_c3p0项目 41
2.10.2 编辑hibernate.cfg.xml文件 42
2.10.3 chapter02_c3p0项目的运行与输出 43
2.11 网络留言本V2.0 43
2.11.1 建表 43
2.11.2 创建guestbookv2.0项目 43
2.11.3 编写StringUtil.java文件 44
2.11.4 为项目添加Hibernate开发支持 45
2.11.5 修改hibernate.cfg.xml的内容 45
2.11.6 生成Guestbook.java与Guestbook.hbm.xml文件 45
2.11.7 编写Guestbook在于Dao.java文件 46
2.11.8 编写GuestbookDaoHibernate.java文件 46
2.11.9 编写HibernateFactorySessionUtil.java 47
2.11.10 编写AddMessageServlet.java文件 47
2.11.11 编写GetMessagesServlet.java文件 49
2.11.12 编写CharacterEncodingFilter.java 49
2.11.13 修改web.xml文件 50
2.11.14 编写header.jsp文件 51
2.11.15 编写footer.htm文件 51
2.11.16 使用JSValidation 52
2.11.17 使用FCKeditor 54
2.11.18 编写addMessage.jsp文件 56
2.11.19 编写getMessages.jsp文件 58
2.11.20 编写addResult.jsp文件 59
2.11.21 编写error404.htm文件 59
2.11.22 编写error500.jsp文件 60
2.11.23 程序运行输出 60
第3章 标识符属性生成策略与对象识别 63
3.1 数据库中的主键 63
3.1.1 自然主键 63
3.1.2 代理主键 64
3.2 标识符属性 64
3.3 标识符属性的生成策略 64
3.3.1 increment生成策略 64
3.3.2 identity生成策略 65
3.3.3 sequence生成策略 65
3.3.4 hilo生成策略未 65
3.3.5 seqhilo生成策略 66
3.3.6 uuid生成策略 66
3.3.7 guid生成策略 66
3.3.8 native生成策略 67
3.3.9 assigned生成策略 67
3.3.10 foreign生成策略 67
3.3.11 选择标识符属性生成策略 67
3.4 映射复合主键 68
3.4.1 数据准备 68
3.4.2 使用属性映射复合主键 68
3.4.3 使用主键类映射复合主键 71
3.5 对象识别 74
3.5.1 Java中的对象识别 74
3.5.2 识别数据库中数据 75
3.5.3 识别Hibernate中的持久化对象 75
3.6 Commons lang buider 78
3.6.1 安装Commonclipse 78
3.6.2 使用Commonclipse 79
第4章 持久化对象生命周期 80
4.1 持久化对象生命周期的状态 80
4.1.1 Transient状态 80
4.1.2 Persistent状态 81
4.1.3 Detached状态 81
4.1.4 Removed状态 82
4.1.5 Session对象的“脏”数据检查 83
4.2 Session接口的核心方法 83
4.2.1 saveOrUpdate()方法 83
4.2.2 merge()方法 84
4.2.3 flush()方法 85
4.2.4 close()方法 85
4.3 不可更改的持久化对象 86
第5章 OSIV与泛型DAO模式 87
5.1 OSIV模式 87
5.1.1 使用Servlet过滤器实现OSIV模式 88
5.1.2 配置web.xml文件 89
5.2 泛型DAO的设计与实现 89
5.2.1 编写泛型DAO接口 90
5.2.2 编写泛型DAO的实现类 90
5.2.3 使用GenericDao接口 91
5.2.4 使用GenericDaoHibernate类 92
5.3 网络留言本V2.1 92
5.3.1 新建guestbookv2.1项目 92
5.3.2 建立admin表 93
5.3.3 文件列表 93
5.3.4 生成Admin.java与Admin.hbm.xml文件 94
5.3.5 增加hibernate.cfg.xml文件 95
5.3.6 编写AdminDao.java文件 95
5.3.7 编写AdminDaoHibernate.java文件 95
5.3.8 修改GetMessagesServlet.java文件 96
5.3.9 编写AdminUserServlet.java文件 96
5.3.10 编写AuthenticationFilter.java文件 98
5.3.11 编写ManageServlet.java文件 99
5.3.12 编写login.jsp文件 100
5.3.13 修改validation-framework.js文件 101
5.3.14 修改validation-config.xml文件 101
5.3.15 编写loginFail.jsp文件 102
5.3.16 编写list.jsp文件 102
5.3.17 编写edit.jsp文件 103
5.3.18 编写editResult.jsp文件 104
5.3.19 编写deleteResult.jsp文件 105
5.3.20 修改web.xml文件 105
5.3.21 程序运行结果 107
第6章 Hibernate的集合映射 108
6.1 Set集合映射 108
6.1.1 Set接口 108
6.1.2 Set映射 110
6.2 List映射 115
6.2.1 List接口 115
6.2.2 List映射 116
6.3 Bag映射 118
6.4 IdBag映射 121
6.5 Map映射 123
6.5.1 Map接口 123
6.5.2 HashMap 123
6.5.3 LinkedHashMap 124
6.5.4 TreeMap 124
6.5.5 Map映射 125
6.6 排序集合映射 128
6.6.1 利用[set]或[map]标签的sort属性排序 128
6.6.2 利用SQL的order by子句排序 130
第7章 组件映射 132
7.1 组件(Component)映射的单向关联 132
7.1.1 数据准备 132
7.1.2 编写Profile.java文件 133
7.1.3 编写User.java文件 133
7.1.4 编写User.hbm.xml文件 134
7.1.5 编写HibernateTest.java文件 135
7.1.6 程序运行输出 136
7.2 组件映射的双向关联 137
7.3 组件集合映射 138
7.3.1 数据准备 138
7.3.2 编写Image.java文件 139
7.3.3 编写Product.java文件 140
7.3.4 编写Product.hbm.xml文件 141
7.3.5 编写HibernateTest.java文件 142
7.3.6 组件集合映射的双向关联 144
第8章 映射多对一及一对多关联关系 145
8.1 多对一单向关联 145
8.1.1 数据准备 145
8.1.2 编写Category.java与Category.hbm.xml 文件 146
8.1.3 编写Product.java与Product.hbm.xml文件 147
8.1.4 编写HibernateTest.java文件 148
8.1.5 outer-join属性 151
8.2 一对多单向关联 151
8.2.1 数据准备 151
8.2.2 编写Product.java与Product.hbm.xml文件 152
8.2.3 编写Category.java与Category.hbm.xml文件 152
8.2.4 编写HibernateTest.java文件 154
8.3 级联 156
8.4 一对多双向关联 157
8.4.1 数据准备 158
8.4.2 编写Product.java与Product.hbm.xml文件 158
8.4.3 编写Category.java与Category.hbm.xml文件 158
8.4.4 编写HibernateTest.java文件 159
8.5 控制反转(Inverse) 160
第9章 映射一对一关联关系 163
9.1 共享主键关联 163
9.1.1 数据准备 163
9.1.2 编写User.java与User.hbm.xml文件 164
9.1.3 编写Profile.java与Profile.hbm.xml文件 165
9.1.4 编写HibernateTest.java文件 166
9.2 唯一外键关联 168
9.2.1 准备数据 168
9.2.2 编写Profile.java与Profile.hbm.xml 文件 169
9.2.3 编写User.java与User.hbm.xml文件 169
9.2.4 编写HibernateTest.java 文件 170
第10章 映射多对多关联关系 171
10.1 多对多单向关联 171
10.1.1 准备数据 171
10.1.2 编写Product.java与Product.hbm.xml文件 173
10.1.3 编写Order.java与Order.hbm.xml文件 173
10.1.4 Order与Product的类图 175
10.1.5 编写HibernateTest.java文件 175
10.2 多对多双向关联 177
10.2.1 准备数据 178
10.2.2 编写Order.java与Order.hbm.xml 文件 178
10.2.3 编写Product.java与Product.hbm.xml文件 179
10.2.4 Order与Product类的类图 179
10.2.5 编写HibernateTest.java文件 180
10.3 在多对多关联中使用组件集合映射 181
10.3.1 准备数据 182
10.3.2 编写Product.java与Product.hbm.xml 文件 182
10.3.3 编写OrderItem.java文件 182
10.3.4 编写Order.java与Order.hbm.xml文件 183
10.3.5 Product、Order与OrderItem的类图 185
10.3.6 编写HibernateTest.java文件 185
10.4 分拆多对多关联为两个一对多关联 187
10.4.1 数据准备 187
10.4.2 编写Product.java与Product.hbm.xml文件 187
10.4.3 编写OrderItem.java与OrderItem.hbm.xml文件 187
10.4.4 编写Order.java与Order.hbm.xml文件 188
10.4.5 编写HibernateTest.java文件 189
第11章 Criteria查询 190
11.1 准备数据 190
11.1.1 创建guestbook、product和category表 190
11.1.2 在guestbook、product和category表中添加演示数据 191
11.1.3 实例文件 191
11.2 Criteria的基本使用 192
11.2.1 Criteria接口的主要方法 192
11.2.2 Criterion接口 193
11.2.3 排序查询结果 194
11.2.4 分页显示数据 194
11.2.5 查询一条记录 195
11.2.6 通过关联对象建立查询条件 196
11.2.7 Restrictions类 196
11.2.8 条件“或”方式组合查询条件 197
11.2.9 使用原生SQL语句设置查询条件.. 198
11.2.10 统计函数查询 198
11.2.11 统计函数组合查询条件 199
11.2.12 获取多个统计函数的值 199
11.2.13 分组查询 200
11.2.14 分组统计 200
11.2.15 为分组统计结果指定别名 201
11.2.16 投影查询 202
11.2.17 使用Property类的forName()方法实现分组统计 203
11.3 使用DetachedCriteria对象实现离线查询 204
11.4 根据示例对象查询 205
第12章 HQL与Native SQL查询 206
12.1 准备数据 206
12.2 Query接口 206
12.2.1 list()方法 207
12.2.2 iterate()方法 207
12.2.3 选择list()和iterate()方法 208
12.2.4 使用setMaxResults()和setFirstResult()方法实现分页 208
12.2.5 使用uniqueResult()方法读取唯一记录 209
12.3 HQL基础 209
12.3.1 查询所有持久化对象 209
12.3.2 投影查询 210
12.3.3 使用别名 212
12.3.4 使用distinct关键字 213
12.3.5 限定查询的条件 213
12.3.6 数据排序 216
12.3.7 使用参数占位符 216
12.3.8 使用统计函数 217
12.3.9 使用函数 218
12.4 HQL的批量更新 218
12.5 HQL中的连接查询 219
12.5.1 使用交叉连接 219
12.5.2 使用内连接 220
12.5.3 使用左外连接 221
12.5.4 使用右外连接 222
12.5.5 迫切内连接 223
12.5.6 迫切左外连接 225
12.6 命名的HQL 225
12.7 使用SQL 226
12.7.1 SQL查询 226
12.7.2 SQL更新记录 228
12.7.3 SQL删除记录 228
12.7.4 命名的SQL 229
12.7.5 调用存储过程 229
12.8 使用SQLQuery对象实现动态表映射 230
12.8.1 准备数据 230
12.8.2 编写LogInfo.java文件 231
12.8.3 编写LogInfo.hbm.xml文件 231
12.8.4 编写HibernateTest.java文件 232
12.9 在Hibernate中调用数据库存储过程 233
12.9.1 准备数据 233
12.9.2 调用数据库存储过程 234
12.10 在Hibernate中使用JDBC 234
12.10.1 准备数据 235
12.10.2 调用数据库存储过程 235
第13章 Hibernate的事务管理 236
13.1 数据库事务 236
13.1.1 事务的特性 237
13.1.2 编程式与声明式事务 237
13.1.3 在JDBC中使用事务 237
13.1.4 并发访问数据可能引发的问题 239
13.1.5 事务隔离级别 241
13.2 Hibernate中的事务 243
13.2.1 在Hibernate中事务管理API 243
13.3 锁 244
13.4 Hibernate中的锁定模式 245
13.5 悲观锁 245
13.5.1 使用Query对象的setLockMode()方法设置悲观锁 245
13.5.2 使用Sessoin对象的lock()方法设置悲观锁 246
13.6 乐观锁 246
13.6.1 以版本号方式实现乐观锁 247
13.6.2 时间戳实现乐观锁 250
第14章 继承映射 252
14.1 继承关系层次一个表 253
14.1.1 创建delivery表 253
14.1.2 编写Delivery.java文件 254
14.1.3 编写PostDelivery.java文件 254
14.1.4 编写ExpressDelivery.java文件 254
14.1.5 编写Delivery.hbm.xml文件 254
14.1.6 编写HibernateTest.java文件 255
14.1.7 继承关系层次一个表的优缺点 257
14.2 每个具体类一个表 257
14.2.1 创建post_delivery和express_delivery表 258
14.2.2 编写Delivery.java文件 258
14.2.3 编写PostDelivery.java文件 259
14.2.4 编写ExpressDelivery.java文件 259
14.2.5 编写Delivery.hbm.xml文件 259
14.2.6 编写HibernateTest.java文件 260
14.2.7 每个具体类一个表的优缺点 261
14.3 每个子类一个表 261
14.3.1 创建delivery、post_delivery和express_delivery表 262
14.3.2 编写Delivery.java文件 262
14.3.3 编写PostDelivery.java文件 263
14.3.4 编写ExpressDelivery.java 263
14.3.5 编写Delivery.hbm.xml文件 263
14.3.6 编写HibernateTest.java文件 263
14.4 每个子类一个表的优缺点 265
14.5 小结 265
第15章 Hibernate过滤器 266
15.1 概念 266
15.2 配置 266
15.2.1 使用[filter-def]标签定义过滤器 266
15.2.2 使用[filter]标签声明使用过滤器 267
15.3 调用Hibernate过滤器 267
15.3.1 Session接口中与Filter对象有关的方法 267
15.3.2 调用Hibernate过滤器的示例 268
15.4 小结 269
第16章 数据拦截与事件监听 270
16.1 拦截器 270
16.1.1 Interceptor接口的方法 270
16.1.2 使用拦截器实现审计日志 271
16.2 Hibernate的事件监听 274
16.2.1 应用Hibernate事件监听器 275
16.2.2 使用监听器实现审计日志 275
16.2.3 事件监听与拦截器的比较 280
第17章 Hibernate的缓存 281
17.1 持久层缓存的概念 281
17.1.1 持久层缓存的级别 281
17.2 Hibernate的一级缓存 282
17.2.1 一级缓存的实现原理 283
17.2.2 管理一级缓存 283
17.3 Hibernate的二级缓存 284
17.3.1 二级缓存的策略 285
17.3.2 应用EHCache作为二级缓存 286
17.3.3 缓存集合对象 288
17.3.4 管理二级缓存 289
17.4 查询缓存 290
17.4.1 查询缓存的实现原理 290
17.4.2 使用查询缓存 291
17.5 应用memcached作为二级缓存 292
17.5.1 memcached 292
17.5.2 Hibernate-memcached 292
17.5.3 在Hibernate应用中使用memcached 293
17.6 缓存对get()、load()、list()和iterator()方法的影响 295
17.7 小结 296
第18章 Hibernate的性能优化 297
18.1 使用dynamic-insert与dynamic-update 297
18.1.1 应用[class]标签的dynamic-insert与dynamic-update属性 298
18.2 延迟加载 298
18.2.1 持久化对象的延迟加载 299
18.2.2 集合对象的延迟加载 301
18.2.3 属性的延迟加载 303
18.2.4 解决org.hibernate.Lazy
InitializationException违例问题 303
18.3 集合对象的抓取策略 304
18.3.1 查询抓取 305
18.3.2 子查询抓取 307
18.3.3 连接查询抓取 308
18.3.4 批量抓取 309
18.3.5 Hibernate的“1+N”问题 310
第19章 Hibernate Annotations组件 312
19.1 下载Hibernate Annotations组件 312
19.2 使用Annotations实现一对多双向关联映射 313
19.2.1 准备数据 313
19.2.2 在当前项目中添加Hibernate Annotations类库 313
19.2.3 编写Product.java和Category.java文件 313
19.2.4 编写hibernate.cfg.xml文件 317
19.2.5 编写HibernateTest.java文件 317
19.3 Hibernate Annotations组件核心注解 318
19.3.1 注解属性或者方法 318
19.3.2 Hibernate Annotations组件核心注解 318
19.3.3 注解VS映射文件 319
19.4 Hibernate EntityManager 320
19.4.1 Java Persistence API 320
19.4.2 下载Hibernate EntityManager 320
19.4.3 应用Hibernate EntityManager 320
第20章 Hibernate Search组件 323
20.1 搜索引擎 323
20.1.1 全文检索引擎 323
20.1.2 目录索引搜索引擎 324
20.1.3 元搜索引擎 324
20.2 Lucene 324
20.3 Hibernate Search组件 325
20.3.1 Hibernate Search组件的特点 325
20.3.2 使用Hibernate Search组件 325
20.4 使用Luke工具查看索引数据 330
20.5 中文分词 331
20.5.1 概念 331
20.5.2 中文分词的基本机制 331
20.5.3 Hibernate Search使用第三方中文分词组件 332
第21章 Hibernate与Struts 2 334
21.1 Struts 2框架 334
21.1.1 Struts 2框架的特点 335
21.1.2 下载Struts 2 335
21.2 编写第1个Struts 2程序 336
21.2.1 新建Web项目添加Struts类库 336
21.2.2 修改web.xml文件配置Struts2的过滤器 337
21.2.3 编写login.jsp文件 337
21.2.4 编写LoginAction.java文件 338
21.2.5 编写loginResult.jsp文件 340
21.2.6 编写struts.xml文件 340
21.2.7 项目部署后的运行效果 341
21.3 Struts 2的内部结构 342
21.3.1 Struts 2的处理流程 343
21.4 网络留言本V2.2 344
21.4.1 新建guestbookv2.2项目 344
21.4.2 所需文件列表 344
21.4.3 编写GuestbookAction.java文件 345
21.4.4 编写AdminAction.java文件 347
21.4.5 编写struts.xml文件 348
21.4.6 修改web.xml文件 349
21.4.7 修改addMessage.jsp文件 350
21.4.8 修改login.jsp文件 351
21.4.9 部署运行项目 352
第22章 Hibernate与Spring Framework 353
22.1 Spring简介 353
22.1.1 Spring的子模块 353
22.1.2 下载Spring 354
22.2 IoC容器 355
22.2.1 容器的概念 355
22.2.2 IoC设计模式 355
22.2.3 Spring的IoC容器 356
22.2.4 使用Spring IoC容器示例 356
22.3 Spring AOP 359
22.3.1 OOP的不足 359
22.3.2 AOP技术 360
22.3.3 Spring AOP 360
22.3.4 AOP的专有名词 361
22.3.5 Spring AOP中的常用通知类型 361
22.3.6 使用AspectJ 5的注解实现Spring AOP 362
22.3.7 AspectJ的切入点表达式语法 364
22.4 Spring对Hibernate的支持 365
22.4.1 简化获取SessionFactory对象 365
22.4.2 HibernateTemplate类 368
22.4.3 HibernateDaoSupport类 371
22.4.4 Spring对事务的支持 372
22.4.5 声明式事务的参数定义 373
22.4.6 使用Spring注解管理事务的示例 375
22.5 Guestbook v2.3版 377
22.5.1 新建Guestbookv2.3项目 377
22.5.2 文件列表 378
22.5.3 修改web.xml文件 378
22.5.4 修改DAO实现类 379
22.5.5 修改Servlet文件 380
22.5.6 编写ApplicationContext.xml 380
22.5.7 项目运行输出 381
22.6 小结 382
第23章 KH网络博客系统 383
23.1 系统需求分析 383
23.1.1 确定用户 383
23.1.2 系统功能 384
23.2 系统设计 384
23.2.1 系统结构设计 384
23.2.2 数据库设计 385
23.2.3 设计域模型 390
23.2.4 持久层设计 391
23.2.5 业务逻辑层设计 392
23.2.6 表现层的设计 392
23.2.7 Action类设计 393
23.2.8 权限控制设计 394
23.2.9 分页设计 394
23.2.10 数据校验设计 397
23.2.11 订阅博客功能设计 399
23.2.12 设置开发环境 399
23.2.13 Java包名与组织结构设计 400
23.3 编码实现 400
23.3.1 创建项目 400
23.3.2 域模型代码 400
23.3.3 持久层的相关代码 403
23.3.4 业务逻辑层的相关代码 412
23.3.5 表现层的相关代码 421
23.4 部署运行KH网络博客系统 440
23.5 小结 441
· · · · · · (收起)

读后感

评分

Hibernate的方方面面都点到了,可以说是面面俱到,但波澜不惊。表现的中规中距,要是有实例的FAQ,就好了。

评分

可是我没有看过这本书的第23章内容,恳切希望 读过这本书的人能把内容发到我的邮箱,还有我的邮箱wang8xue8hui@sina.com 我的QQ号是1010315601,希望大家能够和我联系  

评分

可是我没有看过这本书的第23章内容,恳切希望 读过这本书的人能把内容发到我的邮箱,还有我的邮箱wang8xue8hui@sina.com 我的QQ号是1010315601,希望大家能够和我联系  

评分

可是我没有看过这本书的第23章内容,恳切希望 读过这本书的人能把内容发到我的邮箱,还有我的邮箱wang8xue8hui@sina.com 我的QQ号是1010315601,希望大家能够和我联系  

评分

Hibernate的方方面面都点到了,可以说是面面俱到,但波澜不惊。表现的中规中距,要是有实例的FAQ,就好了。

用户评价

评分

这种书籍都差不多,这本书用单位的名义买的,所以在办公室的书架上而不再宿舍的书架上,这本书的光盘和视频教程不过,有基础的可以快速的看过视频教程,然后书籍也就是个参考了,不会的时候过来翻一翻对应的技术点。

评分

这种书籍都差不多,这本书用单位的名义买的,所以在办公室的书架上而不再宿舍的书架上,这本书的光盘和视频教程不过,有基础的可以快速的看过视频教程,然后书籍也就是个参考了,不会的时候过来翻一翻对应的技术点。

评分

这种书籍都差不多,这本书用单位的名义买的,所以在办公室的书架上而不再宿舍的书架上,这本书的光盘和视频教程不过,有基础的可以快速的看过视频教程,然后书籍也就是个参考了,不会的时候过来翻一翻对应的技术点。

评分

这种书籍都差不多,这本书用单位的名义买的,所以在办公室的书架上而不再宿舍的书架上,这本书的光盘和视频教程不过,有基础的可以快速的看过视频教程,然后书籍也就是个参考了,不会的时候过来翻一翻对应的技术点。

评分

这种书籍都差不多,这本书用单位的名义买的,所以在办公室的书架上而不再宿舍的书架上,这本书的光盘和视频教程不过,有基础的可以快速的看过视频教程,然后书籍也就是个参考了,不会的时候过来翻一翻对应的技术点。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有