Java Persistence API merupakan tool untuk mengolah ataupun pengatur data relational dalam platform Java Standard Edition dan Java Enterprise Edition. JPA sendiri merupakan alat dalam pembuatan aplikasi berbentuk framework dalam pemrograman java dengan pendekatan Object Relational Maping (ORM). ORM sendiri merupakan sebuah konsep yang berdiri sendiri, tidak terkait dengan Java. Namun hubungan ORM dengan JPA sangat dekat karena JPA merupakan standart ORM dalam Java, dan harus diikuti oleh pengguna ORM di Java agar ada standart yang sama antara ORM di Java dengan yang diluar Java.
Dengan menggunakan JPA, memungkinkan manipulasi data tanpa menggunakan query, namun bukan berarti tanpa menggunakan query sama sekali, tetap ada penggunaan query disana. Cara JPA ini dinilai lebih baik dari teknik manipulasi data dengan jdbc. Jika kita menggunakan JPA, maka cara kita terhubung ke database sama semua, baik pakai MySQl, SQL Server ataupun PostgreSQL.
API JPA terdapat dalam package javax.persistence. Di dalamnya mengandung Query khusus yang disebut (JPQL)Java Persistence Query Language. Beberapa Library yang mengimplementasikan JPA antara lain adalah Hibernate dan EclipseLink.
Kelebihan JPA yang cukup bermanfaat adalah tidak perlu membuat query untuk manipulasi data. Selain itu kita dapat dengan mudah mengelola transaksi dengan API.
Kita bisa menghindari pembuatan Data Access Object yang rumit dan komplek sekali jika menggunakan JPA ini. Dan yang cukup bagus, kita juga dapat mengelola Plain Old Java Object disini.