Hibernate XML Yapılandırması
Java geliştiricilerin sıkça kullandığı nesne yönelimli modeller ile veri tabanı arasındaki ilişkiyi kuran bir ORM kütüphanesidir.![]() |
Hibernate Başlangıç |
Bir projede veri tabanı üzerinde yapılan işlemleri ve tasarlanan yapıyı sağlamlaştırmaktadır.
![]() |
Hibernate xml yapılandırması |
Bu yapı dosyamız da tx ve jdbc Spring framework ad alanlarının içe aktarıldığını görebilirsiniz. Bu ad alanlarını ilerleyen dönemlerimizde ve projelerimizde sıkça kullanmaya devam edeceğiz.
Yapacağımız ilk işlem açıklamaya dayalı işlem yönetimini etkinleştirmek. (@Transactional).
Bu şekilde Spring, Hibernate kullanarak tüm işlemlerimizi yönetecek olmasıdır.
Hazırda bekleterek birçok bağlantının kolayca oluşması ve işlem yöneticimizin olmasını sağlamaktır.
![]() |
Hibernate veri tabanı bağlantı tasarımı |
driverClassName: JDBC sürücümüzün yolu. Bu sürücü kullanmakta olduğumuz veritabanına özgün bir JAR paketinden oluşmaktadır.
İhtiyacınıza göre sürücülerin temin edilmesi için Maven depolarına bakabilirsiniz.
url: Veri tabanına bağlanmak için gösterilen adrestir. jdbc:mysql://localhost/test
mysql veri tabanının kullanılacağını localhost üzerinde bulunduğu ve adının test olduğu belirtilmektedir.
username: Veritabanına bağlanmak için çeşitli yetkilere sahip kullanıcı adıdır.
password: Oluşturulan kullanıcı şifresidir.
Spring örnek bir sınıf ile yardımcı olmaktadır fakat kendi iş parçacığına sahip değildir.
En popüler kullanıma sahip olan Apache kullanılması daha uygun olacaktır.
org.apache.commons.dbcp.BasicDataSource ve daha fazlası mevcuttur. İlerleyen dönemlerde kullanımlarını göreceğiz.
Bir sonraki adımımız SessionFactory'i kurmak olacaktır.
Hali hazırda oluşturduğumuz yapıyı yönetmek için kullanacağız. Bir çok konfigürasyonu mevcut.
![]() |
Hibernate tablo ve kod önizleme ayarları |
dataSource: Veri kaynağı için oluşturulan bean dir. DataSource'un kimliğini değiştirdiyseniz, buradan ayarlayabilirsiniz.
packagesToScan: JPA ile açıklamalarda bulunduğumuz paketleri taramak için kullanılmaktadır. Örnek vermek gerekirse hangi proje üzerinde POJO ile tabir ettiğimiz @Entity etiketine sahip sınıflarımızın bulunduğu paketin tanımlamasının yapıldığı yerdir.
annotatedClasses: Açıklamalı sınıfların belirtilmesi için kullanılmaktadır.
Birden fazla açıklama içeren sınıfların tanımlaması için aşağıdaki yapı kullanılmaktadır.,
![]() |
Hibernate POJO sınıflarının tanımlanması |
hibernateProperties: Birçok ayarlaması mevcut olan bu önad oluşturulan yapının çeşitli ayarlamalarını içermektedir. Birkaç ön ayarı sizlerle paylaşacağız.
hibernate.hbm2ddl.auto: Veritabanın da tablolarımızın otomatik oluşturulmasını sağlamaktadır.
hibernate.show_sql: Hibernate veri tabanı üzerinde işlem yaparken ekranımızın debug bölümünde hangi sql komutlarını kullandığını canlı olarak izlememize olanak sağlamaktadır.
Aşağıda örnek bir Hibernate için oluşturulmuş xml dosyasını sizinle paylaşacağız.
![]() |
Hibernate örnek xml dosyası |
Soru, sorun ve görüşlerinizi yorum kısmından veya bize ulaşarak belirtebilirsiniz.
İyi günler
0 Yorumlar