Merhaba  arkadaşlar bu yazımda sizlere java hibernate işlemlerinden bahsedeceğim. Bu yazıyı yazmaktaki amacım bu konuda yazılmış olan yazılarda nerelere dikkat edilmesi gerektiği açıklanmamıştır. Ben burada nelere dikkat etmemiz gerektiğini yazacağım.
Hibernate javada database işlemleri için gereken bir frameworktur. Bunun c# da olan karşılığı Entity framework ~Linq to Sql dir.
 Ön bilgi verdikten sonra yazımıza devam edelim. Bu teknolojide bazı yerler copy paste olduğu için bir kere yazıp öteki projelerinizde yapmanız gereken sadece copy paste yapmak olacaktır.
İlk olarak yapmamız gereken işlem veritabanımızı oluşturmaktır Ben burada postgresql kullanacağım. İstemeniz durumunda sql server, oracle mysql gibi çeşitli veri tabanları için uyarlayabiliriz. Onu nasıl yapacağımızı ise yazının devamında vardır.
İlk olarak yeni bir proje oluşturduktan sonra (sağ tık-> new->project) projemize sağ tıklıyoruz ve maven projesine dönüştürüyoruz (sağ tık-> Configure -> Convert Maven Project). Pom.xml e gidip aşağıdaki kodu yapıştırıyoruz
Sadece bir kez olacak bir şey geri kalan projeler için copy paste yapılacaktır.

Sonia /hibernate.cfg.xml şeklinde bir tane xml dosyası oluşturuyoruz. Burası veri tabanı işlemlerini yapacağımız kısımdır. Dikkat etmek gerekir.

Burada dikkat etmemiz gereken işlemleri şimdi tek tek değinelim.
<property name=”connection.driver_class”>org.postgresql.Driver</property>
        <property name=”connection.url”>jdbc:postgresql://127.0.0.1:5431/Deneme</property>
        <property name=”connection.username”>postgres</property>
        <property name=”connection.password”>postgres</property>
Connection driver : Veritabanının çeşidimizi yazdığımız kısmıdır. Burada org.postgresql.Driver yazarak postgresql db’sini seçiyoruz.
Connection url : Veritabanı URL Adresini gösterir.
Connection username :  Veritabanına bağlanacak kulanıcı adını ifade eder.
Connection password : Kulanıcının Veritabanı parolası bu bölüme yazılır.
<property name=”hbm2ddl.auto”>create</property> : İlk kez oluşturuyorsak, bu kısmı create olmasında bir sakınca yok ancak eğer zaten oluşmuş ise update olarak değiştirmemiz gerekir. Aksi takdirde veritabanı yeniden oluşturulur.
<mapping resource=”main/resources/Mapping/Person.hbm.xml” /> : Burada yazan kısım ise veri tabanından veri alacak olan kısmıdır.
Sırada  mapping resource kısmında belirttiğimiz yere yani bu örnek için main/Resources/Mapping kısmına Person.hbm.xml diye bir xml dosyası oluşturup veri tiplerini ve veri tabanındaki sütun isimlerini yazıyoruz.

Sırada Person isminde sınıfı yazdığımız bölüm var.
Nereye yazacağımızı ise<hibernate-mapping package=”main.resources.Mapping”>burada  belirtiyoruz.

Devamında Kullanıcının veri tabanına işlem yapabilmek için hibernateutil kısmını yazıyoruz. Bu sınıf bütün projelerde aynıdır. Yani bir kere yazacağız bunu bütün projelerde kullanabileceğiz.

Son olarak veri tabanına insert update delete select yaptığımız Main kısmını yazalım.

Bir de ek olarak yazmış olduğum save update delete ve select sorgularını da veriyorum. Bu sınıf başka bir projeye aittir ama mantığını anlamanız için buraya koydum.

Gerçek projede son mainde yazdığımız kısım servis katmanını oluşturmaktadır. Aşağıdaki class ise gerçek bir projeye ait classlar olmakla beraber değiştirip kullanabilirsiniz.

Criteria değişkeni veri tabanında where ile aynı manaya gelmektedir THibernateUtil yukarda örnekte kullandığımız HibernateUtil ile aynı görevi yapmaktadır.