JPA - Arsitektur
Java Persistence API adalah sumber untuk menyimpan entitas bisnis sebagai entitas relasional. Ini menunjukkan bagaimana mendefinisikan OBYEK JAWA LAMA TANAH (POJO) sebagai entitas dan bagaimana mengelola entitas dengan relasi.
Arsitektur Tingkat Kelas
Gambar berikut menunjukkan arsitektur tingkat kelas JPA. Ini menunjukkan kelas inti dan antarmuka JPA.
Tabel berikut menjelaskan masing-masing unit yang ditunjukkan pada arsitektur di atas.
Unit | Deskripsi |
---|---|
EntityManagerFactory | Ini adalah kelas pabrik dari EntityManager. Ini membuat dan mengelola beberapa instance EntityManager. |
EntityManager | Ini adalah Antarmuka, ia mengelola operasi ketekunan pada objek. Ia bekerja seperti pabrik untuk contoh Query. |
Entity | Entitas adalah objek persistensi, disimpan sebagai catatan dalam database. |
EntityTransaction | Ini memiliki hubungan satu-ke-satu dengan EntityManager. Untuk setiap EntityManager, operasi dipertahankan oleh kelas EntityTransaction. |
Persistence | Kelas ini berisi metode statis untuk mendapatkan instance EntityManagerFactory. |
Query | Antarmuka ini diimplementasikan oleh setiap vendor JPA untuk mendapatkan objek relasional yang memenuhi kriteria. |
Kelas dan antarmuka di atas digunakan untuk menyimpan entitas ke dalam database sebagai catatan. Mereka membantu pemrogram dengan mengurangi upaya mereka menulis kode untuk menyimpan data ke dalam database sehingga mereka dapat berkonsentrasi pada aktivitas yang lebih penting seperti menulis kode untuk memetakan kelas dengan tabel database.
Hubungan Kelas JPA
Dalam arsitektur di atas, hubungan antara kelas dan antarmuka adalah milik paket javax.persistence. Diagram berikut menunjukkan hubungan di antara mereka.
Hubungan antara EntityManagerFactory dan EntityManager adalah one-to-many. Ini adalah kelas pabrik untuk instance EntityManager.
Hubungan antara EntityManager dan EntityTransaction adalah one-to-one. Untuk setiap operasi EntityManager, ada instance EntityTransaction.
Hubungan antara EntityManager dan Query adalah one-to-many. Banyak kueri yang dapat dieksekusi menggunakan satu instance EntityManager.
Hubungan antara EntityManager dan Entity adalah one-to-many. Satu instance EntityManager dapat mengelola banyak Entitas.