Pertanyaan JPA vs ORM vs Hibernate?


Saya telah membaca tentang mereka melalui berbagai sumber. Yang importannya adalah: -

  1. Artikel Wikipedia tentang masing-masing
  2. Apa perbedaan antara JPA dan Hibernate?

Berikut adalah pemahaman saya tentang apa bedanya b / w mereka. Saya tidak yakin apakah saya benar tentang JPA vs ORM

  1. ORM: Pemetaan Relasional Objek adalah konsep / proses konversi data dari bahasa berorientasi objek ke DB relasional dan sebaliknya Misalnya di java yang dilakukan dengan bantuan refleksi dan jdbc.

  2. Hibernate: Ini adalah implementasi konsep di atas.

  3. JPA: Ini adalah satu langkah di atas ORM. API tingkat tinggi dan spesifikasi sehingga alat ORM yang berbeda dapat menerapkan sehingga menyediakan fleksibilitas bagi pengembang untuk mengubah implementasi dari satu ORM ke yang lain (misalnya jika aplikasi menggunakan api dan implementasi JPA adalah hibernate. Di masa depan dapat beralih ke IBatis jika diperlukan. Tetapi di sisi lain jika aplikasi langsung mengunci implementasi dengan Hibernate tanpa platform JPA, switiching akan menjadi tugas besar sekali)

Bisa ada implementasi ORM dengan / tanpa spesifikasi JPA. Misalnya sesuai ini link di bawah hanya bagian hibernasi Hibernate versi 3.2 dan yang lebih baru menyediakan implementasi untuk Java Persistence API


32
2017-12-13 18:25


asal


Jawaban:


  1. ORM adalah pendekatan mengambil data berorientasi objek dan memetakan ke datastore relasional (misalnya RDBMS)

  2. Hibernate adalah implementasi dari kerangka ORM

  3. JPA adalah spesifikasi standar EE untuk ORM di Java EE. Hibernate juga merupakan implementasi dari spesifikasi ini, di mana Anda dapat menggunakan API JPA standar dan mengkonfigurasi aplikasi Anda untuk menggunakan Hibernate sebagai penyedia spesifikasi di bawah selimut.

Fitur yang disediakan Hibernate juga merupakan superset fitur ORM yang ditentukan dalam spesifikasi JPA. Berarti, bahwa sementara itu menyediakan implementasi dari api JPA, itu juga menyediakan lebih banyak fitur di luar apa yang menentukan JPA.


22
2017-10-13 00:13



Satu-satunya kesalahan yang sepertinya Anda buat dalam pemahaman Anda adalah

Ini adalah satu langkah di atas ORM

Satu catatan singkat, Perpustakaan dimulai dengan javax.persistensi dikaitkan dengan JPA. Anda harus memilih ini di atas Perpustakaan Hibernate bila memungkinkan. Karena ini Portable. Namun, Anda akan mendapatkan beberapa fitur tambahan di Hibernate, dan dalam kasus-kasus yang tepat, jangan ragu untuk menggunakan Hibernate.


1
2017-09-01 17:37



http://ormlite.com/sqlite_java_android_orm.shtml

Object Relational Mapping Lite (ORM Lite) menyediakan beberapa fungsi ringan untuk mempertahankan objek Java ke database SQL sambil menghindari kompleksitas dan overhead paket ORM yang lebih standar. Ini mendukung sejumlah database SQL menggunakan JDBC dan juga mendukung Sqlite dengan panggilan asli ke API database Android OS.


1
2018-03-28 08:57



JPA adalah antarmuka, sementara Hibernate adalah realisasinya. Anotasi JPA 2 adalah kode aturan terhadap antarmuka, bukan implementasi yang berlaku. JPA hanyalah pedoman untuk menerapkan Pemetaan Relasional Objek (ORM) dan tidak ada kode yang mendasari untuk implementasi. Hibernate adalah implementasi aktual dari pedoman JPA.


0
2017-07-11 19:47