This is an excellent introduction to Java Peristence API. It covers a broad number of topics from the basics of JPA (entity managers and factories, entities, relationships, JPQL, ...) all the way through to more advanced topics like caching, entity graphs, and entity lifecycle events - along with some good tips and recommendations.
I found this to be a comprehensive guide and although I do get the heat the book is getting from being primarily EJB-oriented, it will remain in my library of excellent reference books - far nicer to read than the JPA specification itself.
This book is really an awesome resource if you really want to learn about JPA and many of the advanced topics around it. My biggest complaint is that it focuses way too much on EJB early on (and throughout in various places). I think part of that is related to the lineage of JPA as part of J2EE but I think the book could have still been effective without as much of that content. And it wouldn't have hurt them to talk a little bit about using JPA with something like the Spring Framework (I don't recall there being much if anything in the book on that).
Other than that, I would still recommend this to someone who wants to learn JPA 2 and have a desk-side reference. It's more enjoyable than reading the JPA specification :)
I was very satisfied with the book. I am a novice to JPA and need it for my job. The third chapter tries to give an overview over how JPA fits into Java EE applications, which is interesting and accessible enough to read it if you have no idea about Java EE, but if you are developing with Spring, as I am, you might as well skip it I guess. Doesn't harm your understanding of the rest of the book. There are enough and thought-out examples to illustrate the concepts the book explores.
Excellent book on JPA 2 topic. Very well written, it goes in the depths and it's quite complex. Usable as reference as well. The only minus, there is nothing about integration or usage with the Spring Framework.