Hibernate
Bu madde hiçbir kaynak içermemektedir. (Temmuz 2020) (Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin) |
Geliştirici(ler) | Red Hat |
---|---|
Güncel sürüm | 5.2.1 |
İşletim sistemi | Tüm platformlar |
Tür | ORM |
Lisans | LGPL |
Resmî sitesi | hibernate.org |
Kod deposu |
Hibernate, Java platformunda yazılmış bir ORM (Object/Relational Mapping) aracıdır. ORM, nesne odaklı (object oriented) dillerdeki nesnelerin, ilişkisel veri tabanlarındaki (relational databases) kayıtlara nasıl karşılık geldiğini yürüten bir teknolojidir. NHibernate adında .NET çatısı için yeniden yazılmış bir türevi bulunur.
Hibernate gibi ORM araçlarıyla, bir nesneyi veri tabanına kaydetmek, yeni halini güncellemek ve sorgulama yapmak düz SQL bağlantılarına göre çok kolaydır.
Örneğin, JDBC ile veri tabanına bir kayıt eklemek için şuna benzer bir kod yazılır:
stmt.executeUpdate( "INSERT INTO KAHVE VALUES ('Colombian', 101, 7.99, 0, 0)");
Burada, "KAHVE" tablosuna bir kayıt eklenmekte. Böyle bir işlemi Hibernate ile yapmak için:
session.saveOrUpdate(kahve);
kahve, bildiğimiz düz bir Java nesnesidir (POJO).
Hibernate gibi ORM araçlarının en önemli faydası, kod yazımını kısaltmak veya kolaylaştırmaktan öte, yazılım bakımını kolaylaştırmasıdır. Veritabanı temelli uygulamalarda, kodun 1/3´ü veritabanı erişimine yöneliktir. Veri tabanındaki bir kolonunun tipinin değişmesi, yeni bir kolon eklenmesi gibi değişiklikler, bütün veri erişim kodunu tekrar gözden geçirmeyi gerektirir. Hibernate ile bu gözden geçirmeden çok yüksek oranda tasarruf edilir. Hibernate kullanılan yazılımlarda, veri tabanındaki değişikliklerde yapılması gereken sadece nesnelerle tabloların birbirine nasıl eşleştirildiğinin (mapping) gözden geçirilmesidir.
Hibernate, son 3 sene içinde, kurumsal Java uygulamalarında fiilen standart haline gelmiştir. EJB 2.0 sürümündeki Entity Beanler, yeni EJB 3.0 sürümünde Hibernate´e yakın bir API hâline gelmiştir.
Dış bağlantılar
[değiştir | kaynağı değiştir]- hibernate.org2 Ekim 2009 tarihinde Wayback Machine sitesinde arşivlendi.