Hibernate Dersleri 3 – Session İşlemleri

Hibernate

Hibernate Derslerine devam ediyoruz. Hibernate ile veritabanına bağlanma işlemlerini yönetmek için Session Factory sınıfını kullanıyoruz. Session Factory sınfı yardımı ile Hibernate belirtilen veritabanına bağlanma işlemleri yönetilir.

Veritabanı işlemleri yapmaya başlamadan önce bağlantıyı açmak ve kapatmak için sınıfımızı oluşturalım.

 private SessionFactory sessionFactory;
 sessionFactory = new Configuration().configure().buildSessionFactory();

Session Factory sınıfından bir değişken oluştuyoruz. Bu değişkene yapılandırma dosyalarımızda bulunan ilgili propertyleri setliyoruz. Sonrasında ise

Session session=sessionFactory.openSession();

Veritabanı bağlantımızı açarak sessionumuzu başlatıyoruz. Bu başlatma işleminden sonra ise ileriki derslerde göreceğimiz kaydetme, silme, listeleme, güncelleme işlemlerini yani asıl yapmak istediğimiz işlemleri bu adımdan sonra yapmaktayız.

Yapmak istediğimiz işlemler bittikten sonra ise sessionumuzu kapatmamız gerekmektedir.

session.close();

Her veritabanı işleminde bu gördüğümüz session işlemini açıp kapatmamız gerekmektedir. Bu kod işlemini kısaltmak için bir sınıf yazarak her zaman kolaylıkla session işlemini başlatarak veritabanı işlemlerimizi yapmak için genel olarak kabul görmüş HibernateUtil.java adında bir sınıf yaratılmaktadır. Google’da HibernateUtil yazarak bu yapıya kolaylıkla da ulaşabilirsiniz.

Derslerimizde de veritabanı işlemlerini yapmak için bir HibernateUtil.java sınıfı oluşturacağız ve diğer derslerimizde bu sınıf üzerinden sessionumuzu açarak işlemlerimizi gerçekleştireceğiz.

public class HibernateUtil {
 
	private static final SessionFactory sessionFactory = buildSessionFactory();
 
	private static SessionFactory buildSessionFactory() {
		try {
			return new Configuration().configure().buildSessionFactory();
		} catch (Throwable ex) {
			System.err.println("SessionFactory oluşturulamadı." + ex);
			throw new ExceptionInInitializerError(ex);
		}
	}
 
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
 
	public static void shutdown() {
		getSessionFactory().close();
	}
}

Bu SessionFactory sınıfımızı kullanarak her işlemimizde session açarak işlemimize devam edeceğiz.

Önceki : Mapping Hibernate Dersleri Sonraki: Kaydetme İşlemi

One Comment

  1. private SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
    Şu kodun mantığını tam olarak kavrayamadım. Yeni Session factoryden instance oluşturmak istiyoruz. “Configuration().configure().buildSessionFactory();” bu ksımda tam olarak naptığımızı anlayamadım. Configuration classının içindeki configure(“”) metodu sayesinde config dosyasının yerini gösterip, buildSessionFactory() metoduyla da sessionFactoryi miyaratış oluyoruz

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Burak KUTBAY 2010 - 2019
%d blogcu bunu beğendi: