top of page

Java’da Hibernate Uygulamasi

  • Writer: Sevdanur GENC
    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.

Recent Posts

See All
Ado.Net Entity Framework Ogreniyorum Serisi 00

Ado.Net Entity Framework (EF) verileri ile etkilesim uygulamalari gelistirmek icin kullanilan Ado.Net nesne iliskisel modelleme yazilimi olarak iliskisel veritabani semalarini ve nesneler arasinda ki

 
 
 
LINQ Ogreniyorum Serisi 05

Linq To Sql’de tablolarimizdaki verileri silebilmemiz icin; DataContext icerisinde ki DeleteOnSubmit ve DeleteAllOnSubmit metodlari kullanilmaktadir. Beraberinde SubmitChanges metodu da kodlari eklen

 
 
 
LINQ Ogreniyorum Serisi 04

Linq To Sql’de tablolarimiza verileri guncelleyebilmemiz icin; DataContext icerisinde ki SubmitChanges metodu kullanilmaktadir. Bu komutlari kullanarak DataContext sinifinin yapisina da ihtiyac duyu

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page