Saturday 5 November 2011

JPA Menggunakan Hibernate

JPA (Jave Persistence API) adalah framework yang merupakan standar dari Java untuk mengelola data pada basis data relasional dengan menggunakan teknologi obyek. JPA didefinisikan oleh JSR, saat ini JPA distandarkan dengan menggunakan JSR 220. Saat ini ada beberapa implementasi dari JPA oleh berbagai vendor, diantaranya adalah Hibernate, Apache OpenJPA, EclipseLink, Oracle TopLink, dan lain-lain.

Standarisasi ini menyebabkan developer tidak mengalami kesulitan yang terlalu banyak pada saat mengimplementasikan persistent data dalam aplikasi karena paket yang serta metadata yang digunakan sama. JPA ini terdiri atas 3 bagian:
  1. API (Application Programming Interface), didefinisikan pada paket javax.persistence.
  2. JPQL (Java Persistence Query Language), bahasa query untuk mengakses persisten data, mirip dengan SQL.
  3. Metadata.
JPA menggunakan Annotation dan bukan XML (seperti Customer.hbm.xml), meskipun Hibernate tetap mendukung penggunaan XML. Meskipun demikian, mulai saat ini akan digunakan Annotation dan Entity

Persistence dan Hibernate

Persistence merupakan konsep yang sangat mendasar dalam membangun aplikasi. Pada dasarnya, persistence berkaitan dengan pengelolaan data dalam suatu aplikasi. Aplikasi yang melakukan pengolahan data harus menyimpan dan kemudian juga melakukan proses untuk me-retrieve data. Operasi tersebut dikenal dengan isitlah persistence dan data yang terlibat dalam aplikasi tersebut dikenal dengan isitilah persistent data.

Pada dasarnya, data dalam suatu aplikasi disimpan dalam suatu basis data relasional. Software basis data yang digunakan untuk keperluan tersebut pada dasarnya merupakan software basis data yang dikelola dengan perintah SQL (Structured Query Language). Beberapa contoh software tersebut diantaranya adalah MySQL, PostgreSQL, Oracle, HSQLDB, dan lain-lain. Untuk mengakses persistent data yang tersimpan dalam basis data, diperlukan suatu API yang dikenal dengan istilah JDBC. Setiap software basis data mempunyai driver JDBC yang memungkinkan pemrogram untuk mengakses persistent data menggunakan Java. Dengan demikian, program Java yang dibuat menggunakan query SQL yang kemudian diteruskan ke JDBC dan pada akhirnya akan diteruskan oleh driver JDBC ke basis data yang bersangkutan.

Penggunaan SQL dalam Java atau bahasa-bahasa pemrograman berorientasi obyek lainnya mendatangkan berbagai kemungkinan masalah. Berbagai masalah yang muncul tersebut dikenal dengan impedance mismatch. ketidaksesuaian antara basisdata relasional yang berbasis pada paradigma matematis dengan PBO yang merupakan paradigma di tataran rekayasa peranti lunak serta ketidaksesuaian berbagai tipe data membuat pengelolaan data persistent ini menjadi hal yang kompleks.

ORM (Object/Relational Mapping) merupakan teknik pemrograman untuk memetakan tabel suatu basis data relasional ke suatu class serta memungkinkan untuk mengelola perbedaan sistem tipe pada basis data relasional dengan bahasa pemrograman berorientasi obyek. Untuk mengimplementasikan ORM ini, terdapat berbagai software dari berbagai vendor. Beberapa diantaranya adalah Hibernate, TopLink Essentials, EclipseLink, iBatis, dan lain-lain.

Banyaknya vendor yang memproduksi software ORM menyebabkan implementasi yang berbeda-beda sehingga menyulitkan para pemrogram. Kondisi tersebut menyebabkan JCP (Java Community Process) membuat standardisasi yang dimasukkan ke dalam EJB 3. Standar tersebut adalah JPA (Java Persistence API). Hibernate saat ini juga mengimplementasikan JSR 220 JPA. Dengan menggunakan JPA, terdapat keseragaman dalam mengatasi masalah persistence sehingga tidak terlalu menyulitkan pemrogram dalam mengembangkan aplikasi. Secara konsepsual, hubungan antara komponen-komponen untuk
persistence ini adalah sebagai berikut:

Tips Untuk Orangtua Anak Indigo

bersikap jujur , berikanlah penjelasan lengkap sebanyak  ungkin untuk kedewasaan dan intelegensi mereka. jangan berbohong, berbohong ter...