Java’da Hibernate Uygulamasi
- Sevdanur GENC

- Dec 11, 2011
- 3 min read
Hibernate mimarisi daha onceki makalemde de bahsettigim gibi bir ORM araci olarak kullaniliyor. Object oriented'da bulunan nesnelerin veritabanlarinda ki iliskilerine karsilik gelen degerleri siniflandirabilecegimiz bir mimaridir. Bu mimarilerin en onemli faydasi, kod yazimini kisaltmak veya kolaylastirmaktan ziyade, yazilimin iyi bir sekilde dizayn edilmesi kolaylastirilmaktadir.
Hibernate mimarisini daha iyi anlayabilmemiz icin bir uygulama gerceklestirelim;
Bunun icin oncelikle mysql 'imizde tablalorimizi olusturuyoruz. Ve Netbeans arayuzumu kullanarak projemizi hazirliyoruz.
Bir onceki makalemizde ki onemli 4 adimi hatirlayacak olursak ;
1 ) Projemize Hibernate ile ilgili API’yi yuklememiz gerekiyor.
2 ) Hibarnate’imizle ilgili konfigurasyon dosyasi olusturuluyor.
3 ) Mapping ayarlamasi yapiliyor. Bunun icin reverse engineering wizard’i kullaniyoruz.
4) Sonuncu asamamizda java objelerimizi uretiyoruz. Olusturdugumuz Konfigurasyon dosyasi ve Reverse Engineering dosyasi ile sistemden bilgileri cekiyor.
1. ADIM
Oncelikle olusturdugumuz projenin Library kismindan Hibernate'imizin API'sini yukleyebilmemiz icin su adimlari gerceklestiriyoruz ;
Ardindan ; Hibernate i seciyor ve add library butonunu tikliyoruz.
Sonuc olarak projemizin library klasorunda asagidaki eklemis oldugumuz jar'lar bulunacaktir.
2 . ADIM
Simdi ikinci adimimiza gecelim ve artik Hibernate'imiz icin en onemli kriter olan konfigurasyon dosyasini olusturalim.
Projemizin source package isimli paketinin uzerinde sag tus yapip new, oradan da Other i secerek karsimiza gelen ekrandan asagi da ki gibi ilk tercihimiz olan; Hibernate Configuration Wizard secenegini seciyor ve adim adim ilerliyoruz.
Veri tabanimizin ismini veriyor ve baglantiyi test ettikten sonra devam ediyoruz.
Database connection ve Database dialect verilerini belirttikten sonra finish'le konfigurasyon dosyamizi olusturmus oluyoruz.
Karsimiza .XML uzantili ve Hibernate.cfg.xml isimli konfigurasyon dosyamiz gelmistir. Ve burada arka planda gececek olan sql'leri gorebilmemiz icin Configuration Properties kismindan Hibernate.show_sql i true yapmamiz gerekecektir.
Yine konfigurasyon ayari olarak ikinci yapilacak islem ise; Miscellaneous Properties icerisinde bulunan hibarnate.query.factory_class ozelligine deger verdirtmemizdir.
Sonuc olarak bu konfigurasyon dosyasinda iki onemli islemin ozeti soyledir ;
3. ADIM
Yapmamiz gereken reverse engineering islemleridir...
Bunun icin yine projemizin source package isimli paketinin uzerinde sag tus yapip new, oradan da Other i secerek karsimiza gelen ekrandan asagi da ki gibi ucuncu tercihimiz olan; Hibernate Reverse Engineering Wizard secenegini seciyor ve adim adim ilerliyoruz.
Olusacak dosyamizin ismini hibernate.reveng veriyor ve ilerliyoruz.
Veritabanimizdan istedigimiz tablolari seciyoruz. Burada dikkat edilecek diger bir husus ise iliskilendirilmis tablolari da eklediginiz tablo ile birlikte size alternatif olarak listenize otomatik eklemesidir. (Asagida ki ornek de login tablosunda ki yetkileri yetkiler tablosundaki id kolonu ile aldigindan dolayi iliskilendirmistir ve bu yuzden selected tables alaninda her ikiside otomatik olarak eklenmistir.)
4. ADIM
Dorduncu ve de son adimimiz da olusturdugumuz Konfigurasyon dosyasi ve Reverse Engineering dosyasi ile sistemden bilgileri cekmemiz icin gerekli pojo dosyalarini olusturuyoruz.
Projemizin source package isimli paketinin uzerinde sag tus yapip new, oradan da Other i secerek karsimiza gelen ekrandan asagi da ki gibi Dorduncu tercihimiz olan; Hibernate Mapping Files and POJOs From Database secenegini seciyor ve adim adim ilerliyoruz.
Finish ile adimlarimizi bitirdikten sonra olusan kodlarimiz asagida ki gibidir ;
Login.JavaLogin.Java
Yetki.Java
Yetki.Java
package Admin;
// Generated Dec 11, 2011 10:11:51 PM by Hibernate Tools 3.2.1.GA
import java.util.HashSet;
import java.util.Set;
/**
* Yetkiler generated by hbm2java
*/
public class Yetkiler implements java.io.Serializable {
private int id;
private String yetki;
private Set logins = new HashSet(0);
public Yetkiler() {
}
public Yetkiler(int id) {
this.id = id;
}
public Yetkiler(int id, String yetki, Set logins) {
this.id = id;
this.yetki = yetki;
this.logins = logins;
}
public int getId() { return this.id; }
public void setId(int id) { this.id = id; }
public String getYetki() { return this.yetki; }
public void setYetki(String yetki) { this.yetki = yetki; }
public Set getLogins() { return this.logins; }
public void setLogins(Set logins) { this.logins = logins; }
}
Ve sonuc olarak tum islemlerimiz bittiginde projemizin tree view yapisi asagida ki gibidir.
Comments