Perbedaan JPA dan Hibernate

Perbedaan JPA dan Hibernate
Perbedaan JPA dan Hibernate

Video: Perbedaan JPA dan Hibernate

Video: Perbedaan JPA dan Hibernate
Video: #2 Kompleksitas Algoritma | ANALISIS & STRATEGI ALGORITMA 2024, November
Anonim

JPA vs Hibernate

Hampir semua aplikasi perusahaan diperlukan untuk mengakses database relasional secara teratur. Tetapi masalah yang dihadapi dengan teknologi sebelumnya (seperti JDBC) adalah ketidakcocokan impedansi (perbedaan antara teknologi berorientasi objek dan relasional). Solusi untuk masalah ini diperkenalkan melalui pengenalan lapisan abstrak yang disebut lapisan Persistence, yang merangkum akses database dari logika bisnis. JPA (Java Persistence API) adalah kerangka kerja yang didedikasikan untuk pengelolaan data relasional (menggunakan lapisan persistensi) dalam aplikasi Java. Ada banyak implementasi vendor JPA yang digunakan dalam komunitas pengembang Java. Hibernate adalah implementasi JPA yang paling populer (DataNucleus, EclipseLink dan OpenJPA adalah beberapa lainnya). Versi JPA terbaru (JPA 2.0) didukung penuh oleh Hibernate 3.5, yang dirilis pada Maret 2010.

Apa itu JPA?

JPA adalah kerangka kerja untuk mengelola data relasional untuk Java. Ini dapat digunakan dengan aplikasi yang menggunakan JSE (Java Platform, Standard Edition) atau JEE (Java Platform, Enterprise Edition). Versi saat ini adalah JPA 2.0, yang dirilis pada 10 Desember 2009. JPA menggantikan kacang entitas EJB 2.0 dan EJB 1.1 (yang banyak dikritik karena dianggap kelas berat oleh komunitas pengembang Java). Meskipun kacang entitas (dalam EJB) menyediakan objek persistensi, banyak pengembang terbiasa memanfaatkan objek yang relatif ringan yang ditawarkan oleh DAO (Objek Akses Data) dan kerangka kerja serupa lainnya. Akibatnya, JPA diperkenalkan, dan menangkap banyak fitur rapi dari kerangka kerja yang disebutkan di atas.

Kegigihan seperti yang dijelaskan dalam JPA mencakup API (didefinisikan dalam javax.persistensi), JPQL (Java Platform, Enterprise Edition) dan metadata yang diperlukan untuk objek relasional. Keadaan entitas kegigihan biasanya bertahan dalam tabel. Contoh entitas sesuai dengan baris tabel database relasional. Metadata digunakan untuk mengekspresikan hubungan antar entitas. Anotasi atau file deskriptor XML terpisah (digunakan dengan aplikasi) digunakan untuk menentukan metadata di kelas entitas. JPQL, yang mirip dengan kueri SQL, digunakan untuk kueri entitas yang disimpan.

Apa itu Hibernasi?

Hibernate adalah kerangka kerja yang dapat digunakan untuk pemetaan relasional objek yang ditujukan untuk bahasa pemrograman Java. Lebih khusus lagi, ini adalah perpustakaan ORM (object-relational mapping) yang dapat digunakan untuk memetakan model relasional objek ke dalam model relasional konvensional. Secara sederhana, ini membuat pemetaan antara kelas dan tabel Java dalam database relasional, juga antara tipe data Java ke SQL. Hibernate juga dapat digunakan untuk kueri dan pengambilan data dengan membuat panggilan SQL. Oleh karena itu, programmer dibebaskan dari penanganan manual set hasil dan objek konversi. Hibernate dirilis sebagai kerangka kerja sumber terbuka dan gratis yang didistribusikan di bawah lisensi GNU. Implementasi untuk JPA API disediakan di Hibernate 3.2 dan versi yang lebih baru. Gavin King adalah pendiri Hibernate.

Apa perbedaan antara JPA dan Hibernate?

JPA adalah kerangka kerja untuk mengelola data relasional dalam aplikasi Java, sedangkan Hibernate adalah implementasi spesifik dari JPA (jadi idealnya, JPA dan Hibernate tidak dapat dibandingkan secara langsung). Dengan kata lain, Hibernate adalah salah satu framework paling populer yang mengimplementasikan JPA. Hibernate mengimplementasikan JPA melalui Hibernate Annotation dan library EntityManager yang diimplementasikan di atas library Hibernate Core. Baik EntityManager dan Annotations mengikuti siklus hidup Hibernate. Versi JPA terbaru (JPA 2.0) didukung penuh oleh Hibernate 3.5. Kelebihan JPA adalah memiliki antarmuka yang terstandarisasi, sehingga komunitas pengembang akan lebih mengenalnya daripada Hibernate. Di sisi lain, API Hibernate asli dapat dianggap lebih kuat karena fitur-fiturnya adalah superset dari JPA.

Direkomendasikan: