Rating: - A Solid "Intermediate" Book
This book is a good book on Hibernate, but not for the complete beginner, ss the title suggests.
The book moves quickly into advanced topics, introducing DAOs a little too early for a beginner, as another review has said. I think a total beginner might be frustrated with this book, or so some have complained. I think this book is more focussed on people who are beginning Hibernate, but have a good deal of experience working with other databases or database frameworks.
If you're used Toplink, worked heavily with DAOs, did alot of CMP mapping, or have a good deal of JDBC or database programming experience, then this is the right book for you to pick up in order to jump into Hibernate. It's a perfect fit for that type of professional. For someone a little less familiar with database persistence technologies, Hibernate: A Developer's Notebook, or Hibernate Made Easy: Simplified Data Persistence with Hibernate and JPA (Java Persistence API) Annotations might be a better fit.
Rating: - Poorly organized and poorly written
Most APress books seem to be well done. Sadly, this book is poorly organized and poorly written. There is only one example program in the book and it does not compile due incorrect instructions and code omissions. You can fix the errors without too much trouble and compile the project, but the example is too simple to use in your work. The rest of the book outlines (without runnable examples) other aspects of the Hibernate api, but a programmer is going to want complete example applications that run in order to get a good feel of how all the parts fit together and work together.
A better choice, if you need to learn the basics of Hibernate is the web tutorial given on the Hibernate web site. The tutorial is free and, unlike the book example, it works! The tutorial on the Hibernate site is well written and clear.
Rating: - A bad name for a really good book
I found this book to be really well organized and methodical, starting with the basics of Hibernate and working up to more complex aspects and features in a gradual, measured fashion. My only prior exposure to a book on Hibernate was Hibernate: A Developer's Notebook; it was short and sweet, and of necessity was kind of lightweight, not sufficient for really getting into Hibernate deeply. I looked at Java Persistence with Hibernate but found it kind of baroque. Although that seems to be the most popular book on the subject, I found its approach not especially conducive to learning the subject matter.
My background is that I am an experienced Java/J2EE programmer with a strong database background. My organization has been making use of Hibernate but others in my group have been the ones really blazing the trails. So I'd been exposed to Hibernate usage, I could "get" a good portion of what's going on under the hood, but I required better and deeper understanding if I wanted to work more intimately with our lower-level "DAO" code.
Most complaints I'm seeing here seem to be saying that this book is not for beginners. First, I would question what kind of "beginners" we are talking about--would a novice Web designer who can use design tools but doesn't know HTML, or a PHP programmer who doesn't know Java or J2EE or enterprise design patterns, find this book useful and readable? I don't think so. So I would have to agree, this is not a book for that kind of "beginner".
But this is an indictment of the title, not of the book itself. This IS a book that starts at the beginning and works its way up to rather advanced stuff in what I thought was a well-organized manner. The material in later chapters requires background and experience with other aspects of Java and database technology, including understanding of annotations, abstract query language concepts, etc.
For a lighter-weight introduction to Hibernate I might recommend Hibernate: A Developer's Notebook, but if you are really looking to get into the trenches and dig deep, I found this book to be excellent. I've been told that other APress books named "Beginning XXXXX" are mis-titled, that the "Beginning" title really isn't appropriate and really doesn't do the book(s) justice. So be aware that these are books that start at the "beginning" but that doesn't mean they're necessarily appropriate for total neophytes in related technologies.
Rating: - Best Way to Start with Hibernate Thus Far
New to Hibernate, I started with the advanced "Java Persistence with Hibernate". It was such a painful experience that I decided to look for a better introduction and chose "Beginning Hibernate". Our two year old project is already using Hibernate, and now I have to deal with it when fixing bugs and/or adding new features. Hibernate has been a huge source of problems on this project because the people who knew how to use it didn't do it right and now have left. Perhaps Hibernate also shares some of the blame as it is a technology that doesn't seem to support quick ramp up (which is a sign of complexity).
Although "Beginning Hibernate" is not perfect, it does introduce concepts in an easy and smooth way which is exactly what I needed. I now feel as if I have the foundation to maintain the existing Hibernate code in our project. I still have ways to grow with this technology, and maybe now with this book under my belt I'll be able to tackle "Java Persistence with Hibernate".
As typical with my experience with Apress, I couldn't find a published errata on-line. This is important with technical books, in my opinion, since this is a precise technology. On the plus side, this book did impress me with their appendix of goodies that are very real-world oriented.
The jury is still out for me if Hibernate is a technology worth using on projects due to all the trouble it brings with it, but what is clear to me is that if you need to get ramped up, do yourself a favor and start with this book. Rating 3.5/5 stars (rounded up).
Rating: - Not a book for beginner
I found only first 3 chapers are readable in this book. The chapters for Annotation, xml mapping are absolutely unreadabel. I'd like to see more complete examples with some brief explanation.
|