Java Persistence with Hibernate (Hardcover)
暫譯: 使用 Hibernate 的 Java 持久化 (精裝版)

Christian Bauer, Gavin King

  • 出版商: Manning
  • 出版日期: 2006-12-01
  • 售價: $2,280
  • 貴賓價: 9.5$2,166
  • 語言: 英文
  • 頁數: 904
  • 裝訂: Paperback
  • ISBN: 1932394885
  • ISBN-13: 9781932394887
  • 相關分類: Java 相關技術Java 程式語言
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

Description

"I wholeheartedly recommend this book!"
-- Stuart Caborn, Consultant, Thoughtworks

"A definitive source on Hibernate. Great for any developer."
-- Patrick Peak, CTO, BrowserMedia, Author of Hibernate Quickly

"Great topic, great content, and there is a great need for this book!"
-- Ryan Daigle, Lead Engineer, RTP Region, ALTERthought

"... very thorough, very complete. I highly recommend it."
-- Patrick Dennis, Java Developer Management Dynamics Inc.

"A must-read for developers using Hibernate."
-- Dan Dobrin, Principal Consultant, BEA Systems

"It's the best book out there about Hibernate (and there are quite a few on the market right now), maybe even the best book about ORM in Java, in general."
-- Adrian Spinei, Real Life, beta version

Persistence -- the ability of data to outlive an instance of a program -- is central to modern applications. Hibernate, the most popular Java persistence tool, provides automatic and transparent object/relational mapping so it's a snap to work with SQL databases in Java applications. Hibernate conforms to the new EJB 3.0 and Java Persistence 1.0 standards.

Java Persistence with Hibernate explores Hibernate by developing an application that ties together hundreds of individual examples. You'll immediately dig into the rich programming model of Hibernate 3.2 and Java Persistence, working through queries, fetching strategies, caching, transactions, conversations, and more. You'll also appreciate the well-illustrated discussion of best practices in database design, object/relational mapping, and optimization techniques.

In this revised edition of Manning's bestselling Hibernate in Action, authors Christian Bauer and Gavin King -- the founder of the Hibernate project -- cover Hibernate 3.2 in detail along with the EJB 3.0 and Java Persistence 1.0 standards.

 

Table of Contents

foreword to t he revised edition xix
foreword to the first edition xxi
preface to the revised edition xxiii
preface to the first edition xxv
acknowledgments xxviii
about this book xxix
about the cover illustration xxxiii

Part 1 Getting started with Hibernate and EJB 3.0 1

Chapter 1 Understanding object/relational persistence 3
What is persistence? 5
The paradigm mismatch 10
Persistence layers and alternatives 20
Object/relational mapping 24
Summary 35
Chapter 2 Starting a project 37
Starting a Hibernate project 38
Starting a Java Persistence project 68
Reverse engineering a legacy database 88
Integration with Java EE services 96
Summary 104
Chapter 3 Domain models and metadata 105
The CaveatEmptor application 106
Implementing the domain model 110
Object/relational mapping metadata 123
Alternative entity representation 140
Summary 152

Part 2 Mapping concepts and strategies 155

Chapter 4 Mapping persistent classes 157
Understanding entities and value types 158
Mapping entities with identity 161
Class mapping options 171
Fine-grained models and mappings 177
Summary 189
Chapter 5 Inheritance and custom types 191
Mapping class inheritance 192
The Hibernate type system 212
Creating custom mapping types 220
Summary 239
Chapter 6 Mapping collections and entity associations 240
Sets, bags, lists, and maps of value types 241
Collections of components 251
Mapping collections with annotations 256
Mapping a parent/children relationship 260
Summary 275
Chapter 7 Advanced entity association mappings 277
Single-valued entity associations 278
Many-valued entity associations 290
Polymorphic associations 313
Summary 321
Chapter 8 Legacy databases and custom SQL 322
Integrating legacy databases 323
Customizing SQL 350
Improving schema DDL 364
Summary 378

Part 3 Conversational object processing 381

Chapter 9 Working with objects 383
The persistence lifecycle 384
Object identity and equality 391
The Hibernate interfaces 401
The Java Persistence API 417
Using Java Persistence in EJB components 426
Summary 431
Chapter 10 Transactions and concurrency 433
Transaction essentials 434
Controlling concurrent access 453
Nontransactional data access 469
Summary 474
Chapter 11 Implementing conversations 476
Propagating the Hibernate Session 477
Conversations with Hibernate 485
Conversations with JPA 497
Conversations with EJB 3.0 506
Summary 515
Chapter 12 Modifying objects efficiently 517
Transitive persistence 518
Bulk and batch operations 532
Data filtering and interception 540
Summary 558
Chaoter 13 Optimizing fetching and caching 559
Defining the global fetch plan 560
Selecting a fetch strategy 573
Caching fundamentals 592
Caching in practice 602
Summary 612
Chapter 14 Querying with HQL and JPA QL 614
Creating and running queries 615
Basic HQL and JPA QL queries 633
Joins, reporting queries, and subselects 643
Summary 662
Chapter 15 Advanced query options 663
Querying with criteria and example 664
Using native SQL queries 683
Filtering collections 688
Caching query results 691
Summary 695
Chapter 16 Creating and testing layered applications 697
Hibernate in a web application 698
Creating a persistence layer 708
Introducing the Command pattern 718
Designing applications with EJB 3.0 725
Testing 730
Summary 746
Chapter 17 Introducing JBoss Seam 747
The Java EE 5.0 programming model 748
Improving the application with Seam 765
Understanding contextual components 779
Validating user input 789
Simplifying persistence with Seam 803
Summary 816


appendix A SQL fundamentals 818
appendix B Mapping quick reference 822
references 824
index 825 1

商品描述(中文翻譯)

**書籍描述**

「我全心全意推薦這本書!」
-- Stuart Caborn,顧問,Thoughtworks

「這是關於 Hibernate 的權威來源。對任何開發者來說都很棒。」
-- Patrick Peak,CTO,BrowserMedia,《Hibernate Quickly》作者

「這是一個很好的主題,內容也很棒,這本書的需求非常大!」
-- Ryan Daigle,首席工程師,RTP Region,ALTERthought

「……非常徹底,非常完整。我強烈推薦。」
-- Patrick Dennis,Java 開發者,Management Dynamics Inc.

「使用 Hibernate 的開發者必讀。」
-- Dan Dobrin,首席顧問,BEA Systems

「這是目前市場上關於 Hibernate 的最佳書籍(而且市場上有相當多的書籍),甚至可能是關於 Java 中 ORM 的最佳書籍。」
-- Adrian Spinei,[Real Life, beta version](http://www.jroller.com/page/aspinei/20061217)

持久性——數據能夠超越程序實例的能力——是現代應用程序的核心。Hibernate,最受歡迎的 Java 持久性工具,提供自動和透明的物件/關聯映射,因此在 Java 應用程序中與 SQL 數據庫的操作變得輕而易舉。Hibernate 符合新的 EJB 3.0 和 Java 持久性 1.0 標準。

《Java 持久性與 Hibernate》通過開發一個將數百個獨立示例串聯在一起的應用程序來探索 Hibernate。您將立即深入了解 Hibernate 3.2 和 Java 持久性的豐富編程模型,涵蓋查詢、抓取策略、快取、事務、對話等內容。您還將欣賞到有關數據庫設計、物件/關聯映射和優化技術的最佳實踐的詳細討論。

在這本 Manning 暢銷書《Hibernate in Action》的修訂版中,作者 Christian Bauer 和 Gavin King——Hibernate 項目的創始人——詳細介紹了 Hibernate 3.2 以及 EJB 3.0 和 Java 持久性 1.0 標準。

**目錄**

修訂版前言 xix
第一版前言 xxi
修訂版序言 xxiii
第一版序言 xxv
致謝 xxviii
關於本書 xxix
關於封面插圖 xxxiii

**第一部分 開始使用 Hibernate 和 EJB 3.0 1**
第 1 章 理解物件/關聯持久性 3
持久性是什麼? 5
範式不匹配 10
持久性層和替代方案 20
物件/關聯映射 24
總結 35
第 2 章 開始一個項目 37
開始一個 Hibernate 項目 38
開始一個 Java 持久性項目 68
反向工程遺留數據庫 88
與 Java EE 服務的整合 96
總結 104
第 3 章 領域模型和元數據 105
CaveatEmptor 應用程序 106
實現領域模型 110
物件/關聯映射元數據 123
替代實體表示 140
總結 152

**第二部分 映射概念和策略 155**
第 4 章 映射持久類 157
理解實體和值類型 158
映射具有身份的實體 161
類映射選項 171
細粒度模型和映射 177
總結 189
第 5 章 繼承和自定義類型 191
映射類繼承 192
Hibernate 類型系統 212
創建自定義映射類型 220
總結 239
第 6 章 映射集合和實體關聯 240
值類型的集合、袋、列表和映射 241
組件的集合 251
使用註解映射集合 256
映射父/子關係 260
總結 275
第 7 章 高級實體關聯映射 277
單值實體關聯 278
多值實體關聯 290
多態關聯 313
總結 321
第 8 章 遺留數據庫和自定義 SQL 322
整合遺留數據庫 323
自定義 SQL 350
改善架構 DDL 364
總結 378

**第三部分 對話物件處理 381**
第 9 章 與物件一起工作 383
持久性生命週期 384
物件身份和相等性 391
Hibernate 介面 401
Java 持久性 API 417
在 EJB 組件中使用 Java 持久性 426
總結 431
第 10 章 事務和併發 433
事務要素 434
控制併發訪問 453
非事務數據訪問 469
總結 474
第 11 章 實現對話 476
傳播 Hibernate Session 477
與 Hibernate 的對話 485
與 JPA 的對話 497
與 EJB 3.0 的對話 506
總結 515
第 12 章 高效修改物件 517
傳遞持久性 518
批量和批次操作 532
數據過濾和攔截 540
總結 558
第 13 章 優化抓取和快取 559
定義全局抓取計劃 560
選擇抓取策略 573
快取基礎 592
實踐中的快取 602
總結 612
第 14 章 使用 HQL 和 JPA QL 查詢 614
創建和運行查詢 615
基本 HQL 和 JPA QL 查詢 633
聯接、報告查詢和子選擇 643
總結 662
第 15 章 高級查詢選項 663
使用標準和示例查詢 664
使用原生 SQL 查詢 683
過濾集合 688
快取查詢結果 691
總結 695
第 16 章 創建和測試分層應用程序 697
在網頁應用程序中的 Hibernate 698
創建持久層 708
介紹命令模式 718
使用 EJB 3.0 設計應用程序 725
測試 730
總結 746
第 17 章 介紹 JBoss Seam 747
Java EE 5.0 編程模型 748
使用 Seam 改進應用程序 765
理解上下文組件 779
驗證用戶輸入 789
使用 Seam 簡化持久性 803
總結 816

附錄 A SQL 基礎 818
附錄 B 映射快速參考 822
參考文獻 824
索引 825