RSS

Cerita Java Persistence API

22 Jan

Huah.. mau share ajah gimana pertama kali gw ketemu ni Framework, dari yang sebel minta ampun, sampe sekarang gw jatuh cinta minta ampun sama ni Framework. Gw dapet project, n gw penasaran pengen nyoba pake Java Desktop Application. Pas pertama kali gw pake, okelah keren banget. sampe-sampe gw nemu titik dimana koq lama-lama Java Desktop Application ini nyebelin banget yah? terutama buat masalah koneksi ke Database karena kita udah ga pake source yang mungkin u semua dah ga asing lagi 

Class.forName(“com.mysql.jdbc.Driver”)

Gw bingung setengah mati gimana cara kendaliinya. Akhirnya setelah gw otak-atik (waktu itu gw pake netbeans) akhirnya gw ketemu caranya. Ga sampe segitu penderitaan gw. Gw masih bingung gimana cara nampilin query-query yang berjibun. Akhirnya gw nemu cara dengan menggunakan Entity Manager. Trus setelah itu, ternyata di Entity Manager ini dia ada method createQuery. Huah, lega banget gw. Akhirnya gw cobain dah tuh method createQuery. Eh tau-taunya, bahasa SQL yang MUSTINYA jalan di SQL Biasa ini ternyata ga jalan! Kalo kata cinta laura mah, Oh My Gosh!!mampus dah gw, gmn cara nge querynya. pas gw browsing, ternyata gw nemu suatu istilah baru yaitu JPQL (Java Persistence Query Language). Apa-apaan ini??? Ternyata JPQL ini SEDIKIT berbeda dengan SQL biasa karena menggunakan prinsip ORM (Object Relational Mapping). Nanti gw akan jelasin apa itu ORM dan gimana cara pake JPA supaya nambah-nambah ilmu. Gw sempet nyerah dengan JPQL ini karena waktu itu gw sama sekali ga ngerti. Setelah gw baca literatur yang ada, gw bingung karena query di JPQL itu dotnya ada 2. Contohnya ini :

SELECT p.position FROM Job p, Employee e WHERE e.empId = p.empId.empId

Tuh liat deh yang gw merahin. Aneh kan, masa query bisa sampe ada 2 dot gitu. Setelah gw pelajari, barulah gw mengerti. Dalam kasus ini, table job mempunyai field empId yang menjadi Foreign Key ke table Employee. Nah, dalam ORM (gw ga tau apakah Hibernate berlaku prinsip ini, tapi harusnya sih berlaku yah), empId di table Job bertipe data Employee. Jadi kenapa saat kita akan mengakses ID na, kita kudu akses dulu object employee na, baru kita akses attribut empId (p.empId.empId). empId yang pertama merupakan pengaksesan class, dan empId kedua merupakan pengaksesan  attribut. Dan yang gw rasa setelah ORM ini, query ke database lebih enak, dan waktu yang kita dapat pun lebih cepat daripada query biasa. Dan yang lebih penting, membuat SQL itu Object Oriented.

 
Leave a comment

Posted by on January 22, 2009 in Programming

 

Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: