Hibernate Nedir?

            Veri tabanındaki tablolar ile POJO sınıflarını eşleştirip map ederek verilere hızlı bir şekilde CRUD(Create Read Update Delete) işlemleri yapmamızı sağlayan java nesnelerini bir veritabanına kalıcı hale getırmek veya kaydetmek için kullanılan bir frameworktür. Java için geliştirilmiş Populer bir ORM aracıdır. Düşük seviyeli sql kodları yazmamızı saglar ve JDBC kodlarını en aza ındirir 

            Hibernate ile oluşturduğumuz POJO claslarının veri tabanı tablolarına dönüşümünü yada tam tersi olan veri tabanında oluşturulan veya daha önceden oluşturulmuş olan tabloların POJO classlarına dönüştürülmesi işlemini kolayca yapabiliriz. Hibernate bizim için SQl sorgusu ile uğraşmadan transaction yönetimi ile uğraşmadan zahmetsizce uygulama geliştirmemizi sağlar. Neredeyse hiç SQL yazmadan kod geliştirebiliriz.
            Bir hibernatete veri tabanına kayıt eklemek aşağıdaki gibi yapılır.

Örneğin hibernate tablomuz olsun ve bu tabloya kayıt eklemek istiyoruz hybernatenin saveOrUpdate methoduna kaydetmek istediğimiz verileri içeren hibernatePOJO classını göndermemiz yeterli olacaktır. Kod aşağıdaki gibi olmalıdır:
session.saveOrUpdate(hibernatePOJO);
            Aynı işlemi JDBC ile yapmak istediğimizde
stmt.executeUpdate( "INSERT INTO HIBERNATE VALUES (1234, ‘hibernate’, ‘xxx’, 1)");
gördüğünüz üzere hibernate için hiç SQL yamadan insert işlemi gerçekleştirebiliyoruz. Hibernate bunu bizim için gerçekleştiriyor.
            Hibernate için en önemli iki sınıf vardır. SessionFactory ve Session sınıfıdır.
SessionFactory sınıfı Session yaratmak için kullanılır. SesionFactory sınıfı yaratırken design patternlerden singleton pattern kullanarak yaratılmalıdır. SessionFactory sınıfının yaratılması maliyetli olduğu için çalışma zamanında tek olmalıdır yani singleton olmalıdır. SessionFactory sınıfı her veritabanı için bir kere yaratılır. Uygulamalarınızda birden fazla veritabanı kullanıyorsanız ancak o zaman ikinci bir SessionFactory sınıfına ihtiyacınız olabilir.

Veri tabanındaki tablolar ile POJO sınıflarını eşleştirip map ederek verilere hızlı bir şekilde CRUD(Create Read Update Delete) işlemleri yapmamızı sağlayan Java için geliştirilmiş bir ORM aracıdır. 

Yorumlar

Bu blogdaki popüler yayınlar

Spring Boot ve Hibernate Anotasyonları

CI(Continuous Integration) / CD(Continuous Delivery)

Tasarım Desenleri(Design Patterns) Nedir?