Hibernate is an amazing piece of software. With a little experience and the power of Java 5 annotations, you can build a complex database-backed system with disturbing ease. Once you have built a system using Hibernate, you will never want to go back to the traditional approaches. While Hibernate is incredibly powerful, it presents a steep learning curve when you first encounter it—steep learning curves are actually a good thing, as they impart profound insightonce you have scaled them. Yet gaining that insight takes some perseverance and assistance.This book is to help you up that learning curve by presenting you with the minimal requirements of a discrete Hibernate application, explaining the basis of those requirements, and walking you through an example application built according to them..