Behavior which requires a persistence provider but does not use the persistence provider extensively is only tested with hibernate. Test code for each of the JPA providers is in a separate 'jpatest-' project. This is required to remove the dependence on the JPA provider from the pom, allowing them to be deployed to the central maven repo.