Coding Best Practice : Berbagi Masalah dan Solusi buat Coder [3] – Database Migration


Database Migration

Database Migration

kerja bareng temen, trus dapat update code baru dari temen, pas di-running, eh error TABLE NOT FOUND, *tonjoktemennya* gara2 gak bilang2 bikin table baru

ini biasa terjadi kalo bikin project bareng2 lebih dari satu orang, kalo komunikasinya gak bagus, bisa miss informasi, dan developer lain bisa kena masalah kayak ini

solusinya gimana?  Baca lebih lanjut

Iklan

Pessimistic VS Optimistic Locking


guys, malam ini saya mau bagi2 daging (baca: ilmu) nih, seputar database, pessimistic dan optimistic locking.

#PessimisticLocking

langsung aja ke contoh kasus:
– ada sebuah aplikasi inventory, dimana bisa diakses oleh beberapa user secara bersamaan
– misal saat ini sedang diakses oleh 2 user, user A dan user B

mereka berdua melakukan hal ini secara bersamaan :

A meload data barang dengan id 001 (nama: Dodol)
B meload data barang dengan id 001 (nama: Dodol)

A mengubah nama barang (id 001) menjadi Dodol Garut
B mengubah nama barang (id 001) menjadi Dodol Subang

A refresh data barang, yang didapat Dodol Subang 😦
B refresh data barang, yang didapat Dodol Subang 😀

kasus diatas dinamakan pessimistic locking, yang artinya siapa yang terakhir mengubah data barang, maka dia yang menang! #yeah!!!

apakah ada yang salah? sebenarnya gak ada yang salah, cuma secara kode etik (alah ngomong apa sih) sebenarnya bermasalah, ketika sebelum si B mengubah nama barang menjadi Dodol Subang, dia seharusnya tahu kalo nama barang telah berubah ke Dodol Garut, dengan begitu ada kemungkinan dia tidak akan jadi mengubah data nama barang tersebut.

#OptimisticLocking

berbeda dengan pessimistic locking, di Optimistic Locking, siapa yang mengubah pertama kali, maka dialah yang menang, yang terakhir mengubah, dia harus tahu dulu kalo sudah terjadi perubahan.

Jadi jika menggunakan Optimistic Locking kejadiannya akan seperti ini :

A meload data barang dengan id 001 (nama: Dodol)
B meload data barang dengan id 001 (nama: Dodol)

A mengubah nama barang (id 001) menjadi Dodol Garut
B mengubah nama barang (id 001) menjadi Dodol Subang

B mendapatkan error, dan diberitahu kalo data sudah berubah
A senang 😀

#Contoh
berikut adalah contoh framework yang support optimistic locking :
– Hibernate Framework
– Java Persistence API
– …. silahkan sebutkan di komentar 😀

kapan perlu pake JDBC dan kapan pake ORM (hibernate, jpa)?


#TanyaJava

kapan perlu pake JDBC dan kapan pake ORM (hibernate, jpa)?

jawabannya sih relatif, suka2 yang coding. tapi pasti ada alasan dibalik coder pilih pake jdbc atau orm seperti hibernate atau jpa.

kapan perlu pake jdbc? saat memang kita sangat ketergantungan sama fasilitas database, contohnya, store procedure, trigger, dan fungsi2 bawaan databasenya. hal ini akan sangat sulit dilakukan di orm. pake jdbc juga dengan ketentuan, sampai kapanpun gak akan pernah ganti database, karena kalo sampai ganti, berarti harus rewrite ulang seluruh perintah sql nya.

kapan perlu pake orm? saat memang kita gak terlalu butuh fitur2 bawaan database, orm saat ini hanya bisa perintah sql standar (insert, update, delete, select, create table), untuk membuat trigger, function dan store procedure, belum bisa, walaupun ada beberapa orm yang mampu, hanya memanggil store procedure saja. salah satu kelebihan orm, kita mudah ganti2 database, karena memang seluruh perintah sql nya di lakukan oleh orm.

tapi orm itu lambat? selambat2nya bukan berarti operasi jdbc itu 1 detik, orm itu 1 menit  perbedaan kecepatan paling hanya beberapa milisecond, dan itu seperti kedipan mata, jadi gak berpengaruh juga  apalagi semakin kesini hardware semakin canggih, jadi kecepatan milisecond benar2 gak kan kerasa.

sekian, follow juga twitter kita di @PakarJava

Buku GRATIS : Membangun Aplikasi RESTful Web Service [bagian 2] Menggunakan Hibernate dan MySQL


Ini adalah buku lanjutan dari buku sebelumnya. Buku ini berisikan materi tentang implementasi dari backend RESTful web service yang pada buku sebelumnya telah dibahas.

Membangun Aplikasi RESTful Web Service [bagian 2] Menggunakan Hibernate dan MySQL

Membangun Aplikasi RESTful Web Service [bagian 2] Menggunakan Hibernate dan MySQL

Baca lebih lanjut

Video Tutorial Pemrograman Database Menggunakan Java dan Hibernate Framework 4


Kode : VT007
Judul : Pemrograman Database Menggunakan Java dan Hibernate Framework 4
Pencipta : Eko Kurniawan Khannedy, S.Kom.
Kategori : Pemrograman Java, Sistem Basis Data
Tingkat Keterampilan : Mahir, Ahli
Harga : Rp.-
Rilis : Februari 2012 

Object Relational Mapping merupakan teknik pemrograman yang memetakan sebuah objek dengan database. ORM merupakan ‘jembatan’ penghubung antara objek yang dibuat dalam program dengan database. ORM membuat Anda tidak perlu lagi menggunakan querySQL untuk memanipulasi data di database. Anda hanya perlu memanipulasi objek, dan otomatis ORM akan memanipulasikan data di database sesuai dengan objek yang dimanipulasi.

Hibernate adalah salah satu framework opensource untuk Object Relational Mappingyang paling populer. Karena kehebatan Hibernate, banyak bahasa pemrograman lain yang mengimplementasikan arsitektur Hibernate, seperti NHibernate untuk .NET Framework dan Doctrine untuk PHP.

Video tutorial Pemrograman Database Menggunakan Java dan Hibernate Framework 4 merupakan panduan lengkap belajar pemrograman database menggunakan Java dan Hibernate Framework versi 4. Video ini akan memandu Anda belajar teknik ORM, konfigurasi Hibernate, pemetaan entitas, pemetaan relasi, melakukan query sampai optimisasi Hibernate. 

Lihat Daftar Isi Video Tutorial.

Menampilkan Data di Database ke JTree Menggunakan Hibernate | StripBandunk


Pada artikel sebelumnya kami telah membahas tentang membuat JTree dinamis sederhana menggunakan kelas Creator yang telah dibuat. Pada artikel ini kami akan membahas cara menggunakan kelas Creator tersebut dengan Hibernate untuk menampilkan data dari database ke JTree.
Membuat Entitas

Sederhana saja, misal Anda memiliki sebuah kelas entitas Category yang berisi seperti pada kode dibawah ini :

Baca Lebih Lanjut.

Sistem Informasi Penjualan dan Pembelian Barang di AkuSmart Berbasis NetBeans Platform 6.9


NetBeans Platform 6.9

NetBeans Platform 6.9

Ini cuma project kuliah, jadi jangan dianggap serius 😀 Project ini dibangun diatas NetBeans Platform 6.9 😀 Sistem ini dibangun atas dasar tugas mata kuliah Analisis dan Desain Sistem Informasi 😀 Ini screenshootnya : Baca lebih lanjut

Memanfaatkan EntityListener Sebagai Trigger di Java Persistence API


Java Programming

Java Programming

Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. Java Persistence API 2.0
  3. Implementasi Java Persistence API 2 (EclipseLink 2.0, OpenJPA 2.0, Hibernate Framework 3.5)

Bagi anda yang biasa menggunakan PL/SQL mungkin sudah biasa menggunakan Trigger di databasenya. Trigger memang sangat berguna, seperti untuk melakukan proses validasi ataupun melakukan proses apapun setelah proses INSERT, UPDATE, dan DELETE terjadi 😀 Baca lebih lanjut