Hibernate
Hibernate verilerin saklanması, güncellenmesi, silinmesi gibi işlemleri nesne tabanlı modele göre kolaylaştırmak için kullanılan bir java teknolojisidir. Nesne tabanlı alan modelini geleneksel ilişkisel veritabanına çevirmeye yarar. .Net versiyonu için de NHibernate kullanılır. Kalıcı sınıfları oluşturup bu sınıfları XML kullanılarak eşlenmiş veritabanı tablolarına ve sahalarına kaydetmek için kullanılır. Hibernate gibi ORM araçlarının en önemli faydası, kod yazımını kısaltmak veya kolaylaştırmaktan öte, yazılım bakımını kolaylaştırmasıdır. Hibernate veritabanına kayıt işlemi için POJO’lardan yararlanır. POJO’lar bildiğimiz java class larıdır. POJO’ları veritabanındaki tablolara saklamak için gereken işlemleri pojo.hbm.xml dosyasında belirtiriz. Burdaki pojo sınıfın ismidir. Örnek pojomuz person olsun mapping dosyamız da person.hbm.xml olur. Daha sonra bazı metodlarla çağırırız. Veritabanı ayarlarının tutulduğu dosya da hibernate.cfg.xml’ dir.
Hibernate de;
INSERT INTO tablo(ad, soyad, sehir) VALUES (“Samime” , “YORGANCILAR”, “Antalya”) gibi bir veri yığınını kullanmak yerine session.save(person); komutuyla nesne mantığından uzaklaşmadan işimizi halledebiliyoruz.
Basit bir person java class’ı oluşturalım.
[java] public class Person {int id;
String ad;
String soyad;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAdi() {
return adi;
}
public void setAdi(String adi) {
this.adi = adi;
}
public String getSoyadi() {
return soyadi;
}
public void setSoyadi(String soyadi) {
this.soyadi = soyadi;
}
}
[/java]
Şimdi de veritabanı bağlantı ayarlarını tutacak olan hibernate.cfg.xml dosyasına şu kod satırlarını eklememiz gerekiyor.
[java] import org.hibernate.Session;import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.pojo.Person;
public class Test {
public static void main(String[] args) {
Session session = null; // Bir tane session tanımlıyoruz.
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
// hibernate.cfg.xml dosyasındaki ayarlara ait bir session factory yaratıyoruz.
// Bu session Factory’den bir session açıyoruz.
session = sessionFactory.openSession();
// Bir transaction açıyoruz
Transaction transaction = session.getTransaction();
try {
// Bir kişi ekleyelim
Person person = new Person();
person.setName("Samime");
person.setSurname("YORGANCILAR");
transaction.begin(); // Transaction’umuzu başlatıyor
session.save(person); // person objemizi kayıt ediyor
transaction.commit();//ve bu transaction’u veri tabanına gönderiyoruz.
} catch (Exception e) {
e.printStackTrace();
}
finally{
session.close(); //session’umuzu kapatıyoruz.
}
}
}
[/java]
Veritabanında ki Person tablomuza bir veri kaydetmiş olduk. Bir sonraki yazımda değişik uygulamalarda yapacağım. Umarım yararlı olur.
Kolay Gelsin..
mrb aslında anlamadım bn tam
soracak cok sorum var ama karşılık görümeyince cvp alamıyorum:)
mail atresimden yazarmısın tabi yardımcı olursan:(
tşk