Примерно, JPA является стандартом от сообщества Java, здесь спецификации , который был реализован (и расширен) Быть в спящем режиме парнями ( некоторая информация здесь ). Будучи спецификацией, Вы не будете использовать JPA непосредственно, но реализацию JPA.
Остерегаются этого, если Вы будете использовать расширения быть в спящем режиме JPA, Вы повредите совместимость с другими реализациями JPA (хотя некоторые скажут, "почему необходимо использовать другую реализацию JPA?").
Обновление 2015: это - очень старый вопрос, и много изменилось за прошлые ~6 лет. API JPA довольно многофункционален в эти дни, и я рекомендую использовать JPA, так как все больше инструментов и платформ выровнялись с ним. Одним примером являются Данные Spring JPA: это удаляет много шаблона для общих задач и феноменально продуктивно:
http://projects.spring.io/spring-data-jpa/
Исходный Ответ: Я повторю комментарии cheng81 и также вставлю голосование за использование плоскости, в спящем режиме API. Набор функций JPA меньше, чем Hibernate и я не видим оснований для препятствования себя с "чистым JPA" просто, потому что это - "стандарт".