Java Persistence with Hibernate

( 1 )


Persistence—the ability of data to outlive an instance of a program—is central to modern applications. Hibernate, the most popular provider of the Java Persistence standard, offers automatic and transparent object/relational mapping, making it a snap to work with SQL databases in Java applications.

Java Persistence with Hibernate, Second Edition explores Hibernate by developing an application that ties together hundreds of individual examples. It digs into the rich programming ...

See more details below
Paperback (Revised)
$41.66 price
(Save 30%)$59.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (13) from $1.99   
  • New (4) from $14.18   
  • Used (9) from $1.99   
Sending request ...


Persistence—the ability of data to outlive an instance of a program—is central to modern applications. Hibernate, the most popular provider of the Java Persistence standard, offers automatic and transparent object/relational mapping, making it a snap to work with SQL databases in Java applications.

Java Persistence with Hibernate, Second Edition explores Hibernate by developing an application that ties together hundreds of individual examples. It digs into the rich programming model of Hibernate, working through mappings, queries, fetching strategies, transactions, conversations, caching, and more and provides a well-illustrated discussion of best practices in database design and optimization techniques. This revised edition covers Hibernate 5 in detail along with the Java Persistence 2.1 standard (JSR 338) and all examples have been updated for the latest Hibernate and Java EE specification versions.

Purchase of the print book comes with an offer of a free PDF eBook from Manning. Also available is all code from the book.

The new bible of Hibernate--a major revision of the popular "Hibernate in Action"--builds on the same single example application to introduce and explain the latest Hibernate 3.2 in detail.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
For years, Java developers struggled with object persistence. Then came breakthrough frameworks like Hibernate -- and outstanding books like Hibernate In Action. Hibernate's "object/relational mapping" approach proved so useful that it has powerfully influenced Sun's EJB 3.0. When the authors of Hibernate In Action returned to update their book, they wanted to cover the entire topic of Java persistence. Hence the field's definitive guidebook is now called Java Persistence with Hibernate.

This book is extremely ambitious, and equally successful. First, it's a tutorial that gives you a jump-start using Hibernate 3.2, the Java Persistence API, and EJB 3.0. Next, it's a comprehensive guide to all facets of Hibernate 3.2, basic to advanced: object processing, querying, optimization, application design, and more. Third, it's a comprehensive reference to both Hibernate and Java Persistence: one you'll rely on no matter how experienced you get.

Christian Bauer and Gavin King start by explaining why the "object/relational mismatch" between Java and databases is so troublesome; how mapping solves the problem; and what you need to know about domain models and metadata. Next, you'll drill down to real-world mapping of Java classes and properties to SQL tables and columns, exploring everything Hibernate 3.2 and Java Persistence can do. Bauer and King cover inheritance, collections, integrating legacy database schemas, and (carefully) using advanced techniques such as polymorphic entity associations.

In Part III, they turn to "conversational" object processing: loading and storing data; writing transactional and "conversation-aware" applications; designing and implementing layered Java applications, and more. This section's best practices will be especially helpful. And if you want to go even further, you'll appreciate the authors' introduction to the JBoss Seam framework, the next step towards simplifying Java-based web development. Bill Camarda, from the February 2007 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9781932394887
  • Publisher: Manning Publications Company
  • Publication date: 12/28/2006
  • Edition description: Revised
  • Edition number: 2
  • Pages: 904
  • Sales rank: 886,070
  • Product dimensions: 7.15 (w) x 9.45 (h) x 1.80 (d)

Meet the Author

Christian Bauer is a member of the Hibernate developer team. He works as a trainer, consultant, and product manager for Hibernate, EJB 3.0, and JBoss Team at JBoss, a division of Red Hat.

Gavin King is the founder of the Hibernate project and a member of the original Java Persistence expert group (JSR 220). He also led the standardization effort of CDI (JSR 299). Gavin is currently creating a new programming language for business applications called Ceylon.

Gary Gregory is a software engineer at Rocket Software working on application servers and legacy integration. He is the co-author of JUnit in Action and Spring Batch in Action, and a member of the project management committees for the Apache Software Foundation project Commons, Xalan and Logging Services.

Read More Show Less

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
Read More Show Less

Customer Reviews

Average Rating 4
( 1 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted January 6, 2009

    No text was provided for this review.

Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)