or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
45 used & new from $8.54

Have one to sell? Sell yours here
 
   
Hibernate in Action (In Action series)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Hibernate in Action (In Action series) (Paperback)

~ (Author), (Author)
4.3 out of 5 stars  See all reviews (61 customer reviews)

List Price: $44.95
Price: $29.67 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.28 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 4 left in stock--order soon (more on the way).

22 new from $20.29 23 used from $8.54

Frequently Bought Together

Hibernate in Action (In Action series) + Spring in Action + Java Persistence with Hibernate
Price For All Three: $98.95

Show availability and shipping details

  • This item: Hibernate in Action (In Action series) by Christian Bauer

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Spring in Action by Craig Walls

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Java Persistence with Hibernate by Christian Bauer

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Java Persistence with Hibernate

Java Persistence with Hibernate

by Christian Bauer
3.6 out of 5 stars (63)  $37.79
Struts 2 in Action

Struts 2 in Action

by Donald Brown
4.8 out of 5 stars (10)  $29.69
Spring Recipes: A Problem-Solution Approach (Books for Professionals by Professionals)

Spring Recipes: A Problem-Solution Approach (Books for Professionals by Professionals)

by Gary Mak
4.8 out of 5 stars (24)  $33.64
POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

by Chris Richardson
4.5 out of 5 stars (29)  $29.67
EJB 3 in Action

EJB 3 in Action

by Debu Panda
4.4 out of 5 stars (36)  $29.69
Explore similar items

Editorial Reviews

Product Description

Both an introduction to the theoretical aspects of automated object/relational mapping and a practical guide to using Hibernate, this resource provides extensive sample codes to implement an online auction application. Object persistence and the object/relational mismatch problem are discussed with an emphasis on the importance of Plain Old Java Objects. More advanced ORM concepts and techniques are introduced, such as the impact of ORM on application architecture and development processes along with specific techniques for achieving high performance. Effective uses for Hibernate's developer tool set are demonstrated.


About the Author

Christian Bauer is a member of the Hibernate core developer team and maintains their Hibernate documentation and web site. Gavin King is the founder of the Hibernate project and a J2EE consultant.

Product Details

  • Paperback: 408 pages
  • Publisher: Manning Publications; illustrated edition edition (August 1, 2004)
  • Language: English
  • ISBN-10: 193239415X
  • ISBN-13: 978-1932394153
  • Product Dimensions: 9.2 x 7.4 x 0.6 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (61 customer reviews)
  • Amazon.com Sales Rank: #83,002 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #96 in  Books > Computers & Internet > Programming > Java

More About the Authors

Discover books, learn about writers, read author blogs, and more.

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(8)
(4)
(3)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

61 Reviews
5 star:
 (39)
4 star:
 (8)
3 star:
 (7)
2 star:
 (6)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.3 out of 5 stars (61 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
33 of 35 people found the following review helpful:
5.0 out of 5 stars The right way of developing and tuning a Hibernate-based app, August 13, 2004
From a documentation point of view, Hibernate is one of the most notable exception in the world of open-source LGPL'ed projects. Its website offers a plethora of information, from solid documentation (the reference has no less than 141 pages) and various FAQs to sample projects and third-party resources. The forum is quite active and you may get answers to tricky questions. Or a little bit of rough treatment in case you haven't RTFM - but that is understandable, given the number of questions that the authors have to answer every day.

Under these circumstances, one might wonder what Gavin King (Hibernate founder) and Christian Bauer (documentation/website maintainer and Hibernate core developer) can add in order to be able to write a 400-pages book about Hibernate. I mean - sure - only by joining the reference documentation, different FAQs and guides, one can easily 'extract' a hefty 'manuscript' with more than 200 pages.

Well, I am extremely glad to tell you that this is not the case. The book not only gets you up to speed with Hibernate and its features (which the documentation does quite well). It also introduces you to the <strong>right way of developing and tuning an industrial-quality Hibernate application</strong>. I consider myself a pretty seasoned Hibernate developer, being familiar with the API since its 1.2 version in Q1-2002 (if I remember well the first app when we used Hibernate). However, I was proved wrong by "Hibernate in action" which describes best practices and even API features that were unknown or vaguely known to me. That is, until now.

The first chapter, in the good tradition of all first chapters in the world, is an introduction. It's a very well written introduction about why do we need ORM solutions in OO applications. The chapter explains the O/R impedance mismatch, while declaring quickly that OODB suck (immature and not widely adopted). Wel'll also find out that EJB also suck from a persistence point of view (for various reasons). Which can be quite a surprise knowing that Gavin is one of the authors of EJB3.0 specs. Or, on the contrary, this will explain a lot of things in the new EJB specs.

Now that we have cleared the "why Hibernate" issue, let's continue to the second chapter. Which - tradition obliged - is a "Hello, world" and a "Let's get started" chapter. Here you go, almost 50 pages later you should be able to write simple Hibernate-based persistence layers and integrate within an application server, like for instance ... Jboss ! Humm, well, why not ? They are sponsors of the Hibernate project, after all.

In the 3rd chapter, our fresh knowledge will be put to good use by starting the development of an online auction application called CaveatEmptor. This app will follow our reading progression and will grow bigger and smarter chapter by chapter. But for the moment, we are at the inception phase. What gives : a little bit of analysis, a stylish class diagram of the domain model and the resulting mapping file. And if you thought (based on 2nd chapter) that the mapping file is very intuitive and simple, you're in for a big surprise : it is, indeed, intuitive and simple ! Quite bizarre for an open-source project. As a matter of fact, the mapping file is one of the pivotal elements of Hibernate, since it addresses directly the O/R impedance mismatch, a recipy for transparent linking your POJOs and the constrained relational model. No wonder that a big part of this chapter is aimed at explaining why and how the mapping works in Hibernate. You'll see how class associations and inheritance translate at the metadata and mapping level. You'll start to understand the things that you took for granted in the previous chapter and you'll have that pleasant "uuh, I see" chain reaction. Hold on, it's just the beginning.

Because chapter 4 is going to explain once and for all the lifecycle of persistent object in Hibernate, their behavior from a persistence point of view as well as the available fetching strategies. And if you thought you already knew everything by heart from the documentation ... well, maybe you do know everything by heart. Nevertheless, it's very well synthetized in chapter 4 and I'll recommend it anytime to a coworker eager for Hibernate knowlege.

In the next chapter (the 5th) the rollercoaster slows down a bit. That is, if you already know the behavior associated with the four possible isolation modes in transactions, what are the different types of locking, what (the hell) MVCC means and the importance of transaction scopes. Chances are you already know some of this stuff quite well, but everybody needs a refresher from time to time, especially when it's well explained and when it comes with versioning and caching (1st and 2nd level) in Hibernate as a desert. By the way, I thought that OSCache supports clustering, not only SwarmCache and JbossCache, as stated in the book. There's even a thoroughly explained example of using JbossCache as a level 2 clustered cache for Hibernate, but it shouldn't be too hard to convert to other types of caching systems.

Now, if I were the author of the book, I would have placed chapter 6 before chapter 5. But I am not the author, which is quite fortunate for you dear readers since Christian and Gavin are much more competent than me at writing books about Hibernate (and probably at some other unrelated domains). They have decided to go back to mapping in chapter 6, after the short transaction/caching intermezzo. Well, they should know better... it's time for a serious dose of <strong>advanced</strong> mapping. This chapter is attacking interesting subjects such as custom mapping types (simple or composite) and (finally) the mapping of collections. Special guests stars: the whole gang of "sets, bags, lists and maps", together with explanations about their relational equivalent (associations, associations and associations !). Oh and yes "polymorphic association" (section 6.4.3) - I wasn't even aware that Hibernate is able to do that... guess I'm not that 'seasoned' (as a Hibernate developer) after all.

The 7th chapter is about "Retrieving objects efficiently" : about 45 pages for the 'retrieving' part and 6 pages for the 'efficiently' part. Fair enough ! You'll learn how to master basic HQL queries (parameters, pagination ...). You'll get a grip on the query by criteria API, as well as on advanced stuff such as dynamic queries, filters, subqueries and native SQL (very powerful). At the end of the chapter there's the Hibernate-specific solution for the n+1 selects problem, query caching and result iterators.

Following this wealth of useful knowledge, the 8th chapter starts a bit dry. Nevertheless, after a short introduction about Hibernate in managed environments, you'll find yourself again in the land of advanced programming techniques : application-level transaction implementation ! This is mostly new stuff (at least for me) - a great collection of best practices for transactional behavior management in industrial-quality apps. Somewhat unrelated but still interesting, the chapter ends with legacy schemas integration and a smart implementation example for audit logging.

The 9th (and last) chapter is about the roundtrip development in Hibernate using the classical toolset : Middlegen and/or hbm2java and/or XDoclet. All the available techniques are presented in a very detailed, step-by-step manner.

Wait : don't close the book, there's more ! Ignore Appendix A (a short and rather uninteresting document about SQL fundamentals - that is, if you know SQL). Appendix B contains mildly un-fascinating ORM implementation strategies <EM>pour les connaisseurs</EM> (come on guys, I'm just a dumb user). But - Appendix C is a great collection of real-world stories and by all means read them all ! Especially the last one, a treasure of hard to find knowledge (no spoilers, please...).

In the end, I have to confess that there is something truly interesting about 'Hibernate In Action' : albeit very technical, it reads astonishingly easy - and this kind of books is unfortunately very rare nowadays. My congratulations to the authors for this excellent piece of work - it was worth the wait.

As for you dear potential reader, if you already know all the information detailed in the book, I bow before you, great Hibernate wizard. But if you don't, what are you waiting for ? Because, if you're going to read only one technical book this summer, make sure that it's 'Hibernate In Action' (or, at least chapters 6,7 and 8, if you are that good !).
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
21 of 22 people found the following review helpful:
4.0 out of 5 stars Try their newer book instead, November 28, 2006
By Jeremy Stein (Rochester, NY USA) - See all my reviews
(REAL NAME)   
This book is for Hibernate 2. Hibernate 3 is covered by the same authors in Java Persistence with Hibernate
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
14 of 15 people found the following review helpful:
3.0 out of 5 stars Good background info, but the "ultimate Hibernate reference" is google, October 27, 2006
This is not a bad book. I'm glad I bought it and glad I read it. Its problem is that it doesn't live up to its hype. It is not "the ultimate Hibernate reference" by any stretch. In fact, it's not much of a reference at all, so if your expectations of it are too high, you may end up disappointed.

If you are serious about learning Hibernate and want to get as much depth and background on as many aspects of it as possible, this book is definitely worth reading. The text is well-written and clear, and the information is straight from the most qualified Hibernate committers.

On the downside, this book is missing most of the important administrative and troubleshoting information you will want when you are actually using Hibernate, the book isn't organized so you can easily find any particular detail, and Hibernate is moving on, so some of the information is dated.

Ultimately, if you want practical information or a good reference on Hibernate, I don't think the question you want to ask is "what book should I buy?" You want to ask "why should I buy a book at all when I get much better info for free from google search?"

When you are first getting started, the "getting started" example from the online doc distributed with Hibernate is comprehensive and useful. By contrast, the "Hello World" example in this book is superficial and missing information you need. For example, the very first thing when you work with Hibernate you'll have to include about a dozen .jar files into your project, and you have several choices among alternative jars that you won't care much about `till you become more advanced. Some help is online, little or none is in "Hibernate in Action."

I think Hibernate is all-in-all a great piece of software. Object-to-relational mapping is a hard problem to solve, Hibernate does a great job at the basics of it, and the world is a better place because the boys from jboss donated us their solution. When it works it's like good magic should be. But when it fails, it fails hard, horks all over itself, and spews out a bunch of mostly unhelpful junk. Hibernate suffers from having been developed by an insular group of developers who are too close to their problem, and who have lucrative day jobs as consultants they need to get back to. The result is not much in the way of troubleshooting help, and troubleshooting help is what you'll find you need most. Hint 1 - you won't find such help in "Hibernate in Action" so go to google and type in the text of the error message you get. Hint 2 - you will find a lot more people asking the same question than people answering it. Perservere and be a good detective and you will figure out what you need.

References are organized so you can easily find that one little detail of information you need right now. References have things like short sections with short clear titles that are language keywords or clearly intuitive concepts. References also have long, detailed indexes with a lot of repitition. "Hibernate in Action" has none of this, and it is devilishly hard to find details in it even though you know they are in there somewhere. My copy has about 25 little sticky note bookmarks to help me find things, but most often I don't bother and I just go straight to google.

Finally, Hibernate has evolved since this book was published. My favorite change is that it now includes support for Java 5 annotations as an alternative to XML or XDoclet configuration. Hibernate is notable, like Struts, in helping you get out of J2EE-EJB hell, and into XML configuration purgatory. Annotations rock in relieving you of the keeping-the-XML-in-sync-with-the-Java torture, and you need a reference that doesn't steer you towards doing it the old way. AFAIK, as of this writing, that's only available online.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

1.0 out of 5 stars Missing everything but the introduction
Unfortunately I thought I was getting a deal at $0.99. All you get is a few pages of intro, nothing else. The description makes no indication that is all you get.
Published 5 months ago by D. Scharton

5.0 out of 5 stars Very, Very Good
In an age where many technical books are full of typos if not outright misinformation, Hibernate in Action stands out as very well written. Read more
Published 14 months ago by bub hub

5.0 out of 5 stars Concise and well written.
A great book for getting going with Hibernate quickly.
Some parts are heavy going because it is packed with info. This pays off because there is little or no padding/rubbish.
Published on April 2, 2007 by D. Wyss

5.0 out of 5 stars Useful narrative
I found this book useful and readable, and it helped me develop my first (and second) Hibernate applications. Read more
Published on November 8, 2006 by Janet V. Moyer

3.0 out of 5 stars Falls short of expectation
With this book, we have the rare circumstance where the founder and principal developer of the technology has authored the material. Read more
Published on October 28, 2006 by Norman Snyder

5.0 out of 5 stars Very clear and easy to follow guide
I have struggled with Object Relational issues for years and have tried a few different techniques until I stumbled across Hibernate a few months ago. Read more
Published on September 18, 2006 by Vincent Ramdhanie

5.0 out of 5 stars Good book
We enjoyed it, had some great hibernate tips, all the guys in the company took it for their vacations to read...
Published on September 3, 2006 by Hibernator

2.0 out of 5 stars Great concepts, Worthless index, Questionable technology
The authors do a fine job explaining the concepts behind object relational mapping in general and Hibernate in particular. Read more
Published on July 18, 2006 by George Jempty

5.0 out of 5 stars True to the Spirit of "In Action" Series. Comprehensive coverage of Hibernate 2.x.
Hibernate is an Object/Relational mapping framework that attempts to bridge the gap between Object-Oriented programming model and relational database model. Read more
Published on July 9, 2006 by Ganeshji Marwaha

4.0 out of 5 stars Great for Hibernate, and pretty good for NHibernate too.
Great book about Hibernate. A good chunk of the book won't be useful to you if you're looking to use it with NHibernate, but the rest is relevent.
Published on July 8, 2006 by G. Caprio

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
Which version of hibernate? 2 November 2006
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.