msgbartop
Merhaba, web bloguma hoşgeldiniz... İsterseniz portfolio siteme buradan ulaşabilirsiniz.
msgbarbottom

27 Tem 10 Hibernate Teknolojisi

İlişkisel veri tabanlarına veri yazmak için bir jdbc bağlantısına ve ilgili veriyi gönderebilmek için bir SQL sorgusuna ihtiyacımız var. İş bu noktaya geldiğinde ise o zamana nesneler üzerinden hareket ederken bir anda veriler üzerinden hareket etmeye başlarız.

Örnek vermek gerekirse ;

Bu noktaya kadar ;

Person person = new Person ();
person.setName(“Nurettin”);
person.getName();
……
ile devam eden süreç;

INSERT INTO mytable (name, surname , country) VALUES (“Nurettin”,”YAKIT”,”Türkiye”)

halini almıştır. Yani artık object oriented kavramı bitmiş, objemiz ölmüş ve veri yığınına dönüşmüştür.

Hibernate ise objenin, son dokunduğumuz (ki burada veritabanına kayıt noktası oluyor) ana kadar obje olarak kalmasını sağlıyor. Bu demek değildir ki veritabanına objeyi gönderiyoruz. Sonuç olarak veri tabanı, sadece verilerin bulunduğu bir yer. Objemiz yine verilerine bölünüyor ve ilgili yerlere kaydediliyor. Ama bizim yazdığımız uygulamada bu kısımları hibernate hallediyor ve biz yine object oriented yöntemlerle devam edelim.

Tabi bunun yanında transaction yönetimini kolaylaştırması, yazdığımız uygulamanın farklı veri tabanlarına uyumlu olmasını sağlaması, herhangi bir veritabanı değişikliğinin (tablo içeriğinin değişmesi, tablonun değişmesi…) çok kolay yönetilmesi ve uygulamamızı etkilemesinin önüne geçilmesi gibi kolaylıkları da var.

Hibernate nedir artık biliyoruz.. Veritabanı işlemlerinde bize yardımcı olan, obje kavramından uzaklaşmadan işimize devam etmemizi sağlayan bir yapı.

Artık;

INSERT INTO mytable(name, surname, country) VALUES (“Nurettin” , “YAKIT”, “Türkiye”)

yerine,

session.save(person);

kullanıyoruz.

Peki Hibernate bunu nasıl yapıyor?

Hibernate gibi ORM (Object – Relational Mapping) araçları bir nesnenin veri tabanında hangi tabloya karşılık geldiğini işaretler. Bu işaretleme işlemine mapping denir. Mapping’in nasıl olacağına biz karar veririz.

Hibernate veritabanına kayıt işlemi için POJO’lardan yararlanır, bir POJO (Plain Old Java Object) sadece attribute ve getter/setter ‘lerden oluşan basit bir java nesnesidir.

Hibernate’in bu POJO’yu veritabanında hangi tablo’ya saklayacağını, nasıl saklayacağını mapping dosyasında yani pojoIsmi.hbm.xml ‘inde belirtiriz. Bundan sonra bize sadece session.save() metodunu çağırmak kalır.

Bir Hibernate projesinde bulunması gereken temel dosyalar şöyledir:

-hibernate.cfg.xml

-Person.hbm.xml (Pojomuz Person.java)

-jar’lar

Mapping dosyası Person.hbm.xml , POJO’muz Person.java’nın bulunduğu dizinde olmalıdır. Ayar dosyamız hibernate.cfg.xml ise ide tarafından tanınabileceği, projenin bir üst dizininde bulunmalıdır.

Baran BAYRAM
27.07.2010 – Ankara



Okur yorumları

  1. |

    yazınız hibernate teknolojisini ilk başlayanların rahatlıkla anlayacağı bi şekilde yazılmış..kendi adıma teşekkür ederim..

  2. |

    Bu gün yeni bir kullanıcı olarak hibernate e başladım. Yazınız için teşekkür ederim.



Yorum bırak