В первые дни гибернации не было JPA. Hibernate - первая (с моей точки зрения) библиотека с открытым исходным кодом, которая вывела ORM в основной поток разработки Java. Спецификация JPA появилась много после выхода Hibernate. Hibernate, естественно, также реализовал спецификацию и все еще может поддерживать аннотации, специфичные для Hibernate. Теперь вы можете смешивать JPA + Hibernate в одном приложении, сделав Hibernate поставщиком JPA.