This is a surprisingly comprehensive and useful book. It looks at all the key issues that stem from the problem of making objects persistent in an enterprise application, provides thoughtful analysis, and supplies proven solutions. Along the way, the book addresses seemingly diverse topics such as transactions, unit testing, and deployment with candor and authority, while providing expert coverage of core persistence topics like object-relational mapping and querying.
While this book is the definitive text for EJB3's Persistence API, it goes well beyond this and should become the standard text on object-relational persistence in general. For EJB developers this book will be essential, but even if you are maintaining or developing your own non EJB3-persistence solution, the insights offered by this book are invaluable. All the key issues surrounding enterprise object-relational persistence are described in detail, and the EJB3 solutions are explained clearly. If you want to understand what object-relational mapping is, this is the book.
Persistence is a complex problem that lies on the critical path to project success. This book explains how the new Java Persistence API in EJB3 solves this problem more simply (and more completely) than earlier versions of EJB. With "plain old Java objects" instead of cumbersome "components," design, development, and testing is radically simplified. But because of the nature of the o/r mapping problem, there is the potential for complexity - you are dealing not only with developing Java code, but also database schema, queries, XML mapping files, code-annotations, managing persistence-units, and all the deployment and runtime considerations that go along with application servers. However, even when things get difficult, there is now a success-path you can follow. This book does not gloss-over these details - through careful explanation it shows a path through them. At no point do you feel that this was written by technology evangelists intent on selling you on EJB 3, but instead by expert developers who want to show you how to use it to your advantage.
For those who have followed the development of the EJB spec, there are great (and for me, even entertaining) insights into the evolution of EJB's vision of persistence. Those who remember the clunky Entities of the early specifications will be shocked by the flexibility and power that the new approach provides. This book makes it clear that, for the 3.0 release, the EJB specification writers have taken the time to understand and solve many of the problems of persistence. The authors take the time to explain the approaches to the persistence problem that different versions of the EJB spec (and others, like JDO) have attempted, and shows rather convincingly that the new EJB3 Persistence API is firmly based on tested products and approaches from industry (like TopLink and Hibernate). EJB and o/r mapping are now mature, industry-ready technologies, and this book clearly explains how to understand and use them successfully.
Developers of enterprise applications should read this book to understand persistence issues and how to use EJB3 products (or adapt their own persistence frameworks) to address them. Managers should to read this book so they can make sure that their teams are aware of these issues and that their project plans take them into account. Sales engineers can use this book as a tool to educate their clients about how EJB3 products solve the object-model / relational-model "impedance mismatch."
A great book - many people should read it, and if they do, the quality of our software can only improve.