There was a bit of a backlash when the last tutorial on JPA and Hibernate 3.5 was posted here at TheServerSide.com. Why would we use the Hiberante API instead of just using the Java Persistence API, and thus shield ourselves from the underlying implementation? Well, the reason was simple. We wanted to demonstrate both approaches so you could compare them side by side!
Tutorial I: Configuring Your Development Environment for Hibernate with JPA
Tutorial II: Hibernate & JPA Basics - Performing CRUD Operations
So, here's the follow-up tutorial that demonstrates how to perform the exact same CRUD based operations that were done in the previous tutorials, but instead, without any reference to the Hibernate API. It's a great way to compare the two approaches, and if you've been using Hibernate, and are thinking about migrating your code to a fully JPA compliant implementation, this will give you a bit of insight into what is involved. Enjoy!
Hibernate without Hibernate? Using Hibernate as Your JPA 2.0 Implementation Provider