The Java Persistence API (JPA) aims to be the de-facto standard for ORM based persistence. Hibernate 3 is one of the earliest and most popular ORM tools implementing the JPA standard. This session is a hands-on introduction to JPA using Hibernate 3. During the course of this session, we will configure Hibernate 3 from the ground up to work with JPA in a standalone application, solve a realistic persistence problem step-by-step and explore some of the key features of JPA along the way. We will explore basic annotation-driven mapping, generating keys, mapping relations, performing basic persistence operations and forming complex queries using the Java Persistence Query Language (JPQL). You are encouraged, but not required to bring your laptop and code along throughout the session.