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

POJO : Plain Old Java Object

Oke , bersambung ke postingan selanjutnya ya.

Tetep semangat temen temen

: )

Posted by Kiki Ahmadi

Professional in Telco and Digital industry in Indonesia | Currently pursuing master's degree in Innovation Management and Entrepreneurship in University of Manchester

12 Comments

  1. artikelnya bagus…

    tapi ngomong2, gambar “ORM pada Java” nya ngambil darimana yah???

    Reply

  2. mas, dari segi kecepatan server antara pake ORM dan tidak bagusan mana? konsep ORM sama gak dengan konsep ADO di dunia windows?

    Reply

  3. @ 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…

    🙂

    Reply

  4. mayan buat pencerahan 😀

    Reply

  5. mau tanya, ORM itu hanya ada di framework ya?

    Reply

  6. makasih artikelnya 🙂 saya lagi belajar ORM

    Reply

  7. mas kiki’..ngijin copas yah..bwt kuliah TBD…thank’s 😀

    Reply

  8. […] (yang mewakili kolom di database) dan method getter-setter nya.  Ternyata eh ternyata (kalo kata temen yang ini) kelas yang simpel kayak begitu bisa disebut […]

    Reply

  9. Trima kasih Mas, semoga bisa membantu rekan-rekan yang lainya, dalam belajar java..!!!

    Reply

  10. […] Berikut ini saya berikan dua contoh program Java (ORM dan Non ORM) untuk koneksi dan manipulasi data pada Database. Contoh ini saya ambil dari blog sebelah. […]

    Reply

  11. Danke. Atas pencerahannya
    diposting 2008, baru baca 2010 akhir.:nohope

    Reply

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