Hibernate Dersleri 1 – Yapılandırma Dosyası Oluşturmak
Hibernate’ı projemizde kullanmak için ilgili ayarlamaları yapmak gerekmektedir. Bu ayarlamayı hibernate.cfg.xml adında bir dosyada yapıyoruz. Bu ayarlama dosyamızda kullancağımız veritabanının sürücüsü, veritabanı bağlantı bilgileri, Hibernate çalıştığında hangi modda çalışacağı ve model ayarlamaları bu dosyada yapılmaktadır.
Şimdi bir örnek olarak bir Hibernate yapılandırma dosyası oluşturalım sonrasında her property’nin ne işe yaradığı açıklayalım.
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </property> <property name="hbm2ddl.auto"> update </property> <property name="hibernate.connection.driver_class"> com.microsoft.sqlserver.jdbc.SQLServerDriver </property> <property name="hibernate.connection.url"> jdbc:sqlserver://localhost;databaseName=Veritabani </property> <property name="hibernate.connection.username"> root </property> <property name="hibernate.connection.password"> root </property> <mapping resource="hibernate.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
- hibernate.dialect
Her veritabanın SQL yorumalaması ve syntax’ı farklı olabilir. Hibernate’nin istediğimiz veritabanı ile uyumlu bir şekilde konuşmasını sağlamaktayız.
- hbm2ddl.auto
Hibernate, proje ilk çalıştığında projenizde olan veritabanı değişiklikleri için nasıl bir davranış sergileyecek bunu belirtiyoruz. 4 farklı kullanım şekli bulunmaktadır.
*create
Veritabanında ilgili tablo yoksa oluşturur. Eğer varsa bir işlem yapılmaz
*create-drop
Veritabanında ilgili tablo yoksa oluşturur. Eğer varsa silip tekrar oluşturur.
*update
Veritabanıda ilgili tablo yoksa oluşturur. Eğer varsa değişiklikleri güncelle.
*validate
Veritabanı denetleme işlemlerini yap.
- hibernate.connection.urlVeritabanımızın bağlantı bilgileri kullanıcı adı ve şifresini belirtiyoruz.
- mapping resource
Mapping source property’si ise Java’nın dao sınıfları ile veritabanı arasındaki ilişki belirten dosyamızın yolunu tanımlıyoruz. Buradaki tanımladığımız yol sayesinde veritabanı alanları ile java sınıfımızdaki değişkenlerimizin eşleşmesini sağlamaktayız ve bunun tanımlanmasını yaparak ayarlamamızı yapıyoruz. Mapping Resource tanımlamasını sonraki dersimizde göreceğiz.
Hibernate’yi kullanmak için yapacağız ilk adım yapılandırma dosyasını tanımlamaktı.
Hibernate Dersleri | Sonraki: Dialect Listesi |
create
Veritabanında ilgili tablo yoksa oluşturur. Eğer varsa bir işlem yapılmaz
Burada şöyle bir hata var. Eğer hbm2ddl create’ de bırakılır ise sessionfactory nesnesi her oluşturulduğunda önce varolan entitiy nesnelerine karşılık gelen tablolar drop edilir daha sonra tekrar oluşturulur. Dikkat edilmesi gekeli.