it’s times like these you learn to live again
it’s times like these you give and give again
it’s times like these you learn to love again
it’s times like these time and time again
– Time Like These, Foo Fighter
Hai temen tmen, ketemu lagi deh setelah sekian lama tidak menulis. There’s lot of stories i want to share, tapi untuk kali ini saya akan berbagi ilmu dengan temen temen sekalian. Still about Java, dan yang kita bahas kli ini adalah Object Relationship Mapping.
Apa sih object relationship mapping itu ?. ORM menurut saya adalah sebuah teknologi yang menjembatani antara paradigma pemrograman berorientasi objek dengan database relational. Misal kita membuat program java yang melakukan koneksi pada database MySql. Kita akan mengalami apa yang dinamakan dengan Impedance Mismatch. Salah satu gejalanya adalah bertebarannya query SQl didalam source code Java. Hal ini merepotkan karena SQL sangat berbeda dengan JAVA. Pada saat melakukan parsing variabel dari database, set up koneksi, dan operasi CRUD (Create Retrieve Update Delete) kerepotan karena penggunaan dua bahasa yang berbeda akan terasa. Belum lagi pengaruhnya terhadap performance dan maintanibility.
ORM pada Java
ORM berusaha memecahkan masalah yang terjadi dengan melakukan moderasi berupa pemetaan database ke dalam objek pemorgaman. Karena Java merupakan bahasa pemorgraman yang OOP banget, ORM populer disini. Berikut ini adalah contoh source code Non ORM
String host = "localhost"; String db = "kiki"; String user = "root"; String pass = ""; String driver = "com.mysql.jdbc.Driver"; String koneksi = ""; koneksi = "jdbc:mysql://" + host + ":3306/" + db + "?user=" + user +"&password=" + pass; Class.forName(driver).newInstance(); Connection con = DriverManager.getConnection(koneksi); Statement stmt = con.createStatement(); String ReqUser = request.getParameter("username"); String ReqPass = request.getParameter("password"); String QUERY_INSERT = "INSERT INTO Mahasiswa VALUES (“ +ReqUser+ “,” +ReqPass+” )””
Dan ini adalah contoh source code menggunakan ORM hibernate. Kedua duanya sama sama melakukan operasi insert data.
public void tambahMhs (){ Mahasiswa ophex = new Mahasiswa(); ophex.setNRP(1); ophex.setNama("ophex"); ophex.setPassword("mbuh"); HibernateUtil .getSessionFactory() .getCurrentSession().save(ophex); }
Dapat kita lihat perbedaannya, dengan menggunakan ORM operasi koneksi database dapat lebih mudah dimanage. Tentunya kodenya jadi lebih mudah dibaca. 🙂
Metode yang paling umum dari ORM adalah memetakan Tabel atau query kedalam class Java atau POJO atau Java Beans. Deskripsi lengkap POJO bisa dilihat disini , dari saya POJO adalah class java yang hanya berisi variabel dan setter getter tanpa ada method proses lainnya.
POJO : Plain Old Java Object
Oke , bersambung ke postingan selanjutnya ya.
Tetep semangat temen temen
: )
artikelnya bagus…
tapi ngomong2, gambar “ORM pada Java” nya ngambil darimana yah???
mas, dari segi kecepatan server antara pake ORM dan tidak bagusan mana? konsep ORM sama gak dengan konsep ADO di dunia windows?
@ tukang Ketik
heheh kopas mas…
@ kucrit
klo masalah sya belum pernah membuktikan sendiri seh mas…
tapi menurut beberapa temen…
pake ORM bikin aplikasi jadi lambat..
entah seberapa lambat..
klo ADO saya belum pernah coba mas…
🙂
mayan buat pencerahan 😀
mau tanya, ORM itu hanya ada di framework ya?
makasih artikelnya 🙂 saya lagi belajar ORM
mas kiki’..ngijin copas yah..bwt kuliah TBD…thank’s 😀
Trima kasih Mas, semoga bisa membantu rekan-rekan yang lainya, dalam belajar java..!!!
Danke. Atas pencerahannya
diposting 2008, baru baca 2010 akhir.:nohope