Hibernate EntityManager implements the programming interfaces and lifecycle rules as defined by the JPA 2.0 specification.