This book covers the use of several lightweight frameworks for developing enterprise applications. If you have no clue at all about the issues involved in enterprise Java, I would not advise reading this yet. Despite being C#-based, Applying Domain-Driven Design and Patterns by Jimmy Nilsson would provide the gentle introduction required. On the other hand, if you've had previous experience with server side programming, and want to be brought up to speed quickly on how POJO-based frameworks can be used to replace EJB 2.x style development, this is right up your alley. If you've got used to computer books belying their dimensions with disappointingly little information, you'll be pleasantly surprised with PiA - it's packed with good content.
What's nice about this book is that it goes beyond the basics of the likes of Spring that most people have read several times already (e.g. explaining what dependency injection is) and actually shows how it obviates the need to run in an EJB container and do JNDI look ups. You don't just get to read about, e.g. lazy and eager loading, the author shows you how to use Hibernate and JDO to implement those strategies. That said, this book is not a replacement for documentation or specialised references, so it doesn't get too bogged down. Particularly helpful is that the author provides pros and cons for each of the different approaches he advocates, which helps put them into perspective.
The focus of the book is on using Object Relational Mapping tools, either Hibernate or JDO, in combination with Spring's dependency injection and AOP-based interceptors for transactions. There is also converage of the more procedural-based iBATIS, and using EJB3, although the author does not seem to be a big fan of the latter, despite it being an improvement on EJB2. Many of the persistence-related patterns in Martin Fowler's Patterns of Enterprise Application Architecture are covered here, including the concurrency patterns like pessimistic and optimistic locking. The author shows how to implement these patterns with the frameworks, often showing multiple ways of doing things. He's not afraid to highlight where one framework is lacking compared to another, which is refreshing.
As you can perhaps tell, the coverage is predominantly devoted to the persistence layer - there's not much here on the presentation layer, although there is some material on using servlets. If you're looking for lots of detail on how to hook your domain model up to, say, Struts, or one of the many other web frameworks, you won't find much here.
My only quibble with the book is that although the author pushes increased testability as a important benefit of freeing oneself from EJB containers (a good thing) and uses JUnit tests to illustrate how to develop a POJO-based application (another good thing), the tests use mock objects heavily. I hesitate to call that a bad thing, as clearly there's a whole bunch of people who are much cleverer than I using them productively, but here there's so much set up and setting of expectations, that the actual test is hard to spot, and the intention difficult to fathom. Your mileage may of course vary.
If you're neither an enterprise dummy nor expect, I wholeheartedly recommend this excellent book.