- JPA is an API that helps - how entities are defined - how attributes are mapped - who manages the entities - Hibernate is just one popular implementation of JPA - Why use JPA instead of hibernet: - It will tightly couple the application to hibernet implementations - What if the organization does not want to use hibernet any more? Then they will need to re-code the whole implementation for other dependencies - JPA helps to bridge the gap. You just use JPA code and when you do not need hibernet, just switch to different implementations just by changing the dependency