JPA (Jakarta Persistence) est la spécification Java de la correspondance objet-relationnel : elle décrit comment les classes sont enregistrées dans une base relationnelle, avec les annotations d'entité, l'EntityManager et le langage JPQL. Elle définit l'API, que des implémentations comme Hibernate réalisent.