JPA ve Hazırda Bekleme
Hemen hemen tüm kurumsal uygulamaların ilişkisel veritabanlarına düzenli olarak erişmeleri gerekmektedir. Ancak daha önceki teknolojilerde (JDBC gibi) karşılaşılan bir sorun empedans uyumsuzluğu (nesneye yönelik ve ilişkisel teknolojiler arasındaki fark) idi. Bu soruna yönelik bir çözüm, iş mantığından veritabanı erişimini kapsayan Kalıcılık katmanı adlı soyut bir katmanın tanıtılmasıyla tanıtıldı. JPA (Java Persistence API), Java uygulamalarında ilişkisel verilerin (kalıcılık katmanını kullanarak) yönetimi için ayrılmış bir çerçevedir. Java geliştirici topluluğunda kullanılan birçok JPA tedarikçi uygulaması vardır. Hibernate, JPA'nın en popüler uygulamasıdır (DataNucleus, EclipseLink ve OpenJPA bazılarıdır). En yeni JPA sürümü (JPA 2.0) Mart 2010'da piyasaya sürülen Hibernate 3.5 tarafından tamamen desteklenmektedir..
JPA nedir?
JPA, Java için ilişkisel verileri yönetmek için bir çerçevedir. JSE (Java Platformu, Standart Sürüm) veya JEE (Java Platformu, Kurumsal Sürüm) kullanan uygulamalarla kullanılabilir. Mevcut sürümü 10 Aralık 2009'da piyasaya sürülen JPA 2.0'dır. JPA, EJB 2.0 ve EJB 1.1 varlık fasulye (Java geliştirici topluluğu tarafından ağır olduğu için ağır eleştirildi) yerini aldı. Varlık çekirdekleri (EJB'de) kalıcılık nesneleri sağlamasına rağmen, birçok geliştirici DAO (Veri Erişim Nesneleri) ve diğer benzer çerçeveler tarafından sunulan nispeten hafif nesneleri kullanmak için kullanıldı. Sonuç olarak, JPA tanıtıldı ve yukarıda belirtilen çerçevelerin düzgün özelliklerinin çoğunu yakaladı.
JPA'da açıklandığı gibi kalıcılık, ilişkisel nesneler için gereken API (javax.persistence'da tanımlanır), JPQL (Java Platform, Enterprise Edition) ve meta verileri kapsar. Kalıcı bir varlığın durumu tipik olarak bir tabloya devam eder. Bir varlığın örnekleri, ilişkisel veritabanı tablosunun satırlarına karşılık gelir. Meta veriler, varlıklar arasındaki ilişkileri ifade etmek için kullanılır. Varlık sınıflarındaki meta verileri belirtmek için ek açıklamalar veya ayrı XML tanımlayıcı dosyaları (uygulama ile birlikte dağıtılır) kullanılır. Depolanan varlıkları sorgulamak için SQL sorgularına benzer JPQL kullanılır.
Hazırda Bekletme nedir?
Hazırda Beklet, Java programlama dili için amaçlanan nesne-ilişkisel eşleme için kullanılabilecek bir çerçevedir. Daha spesifik olarak, nesne-ilişkisel modeli geleneksel ilişkisel modele eşlemek için kullanılabilen bir ORM (nesne-ilişkisel haritalama) kütüphanesidir. Basit bir ifadeyle, Java sınıfları ve ilişkisel veritabanlarındaki tablolar arasında ve ayrıca Java - SQL veri türleri arasında bir eşleme oluşturur. Hazırda Bekletme ayrıca SQL çağrıları oluşturarak veri sorgulama ve alma için de kullanılabilir. Bu nedenle, programcı sonuç kümelerinin ve dönüştürülen nesnelerin elle işlenmesinden kurtulur. Hazırda Bekletme, GNU lisansı altında dağıtılan ücretsiz ve açık kaynaklı bir çerçeve olarak yayımlanır. Hibernate 3.2 ve sonraki sürümlerde JPA API için bir uygulama sağlanmıştır. Gavin King Hibernate'in kurucusudur.
JPA ve Hibernate arasındaki fark nedir?
JPA, Java uygulamalarında ilişkisel verileri yönetmek için bir çerçevedir, Hibernate ise JPA'nın belirli bir uygulamasıdır (bu nedenle ideal olarak JPA ve Hibernate doğrudan karşılaştırılamaz). Başka bir deyişle, Hibernate, JPA'yı uygulayan en popüler çerçevelerden biridir. Hazırda Beklet, Hazırda Bekletme Çekirdek kitaplıklarının üstüne uygulanan Hazırda Bekletme Açıklama ve EntityManager kitaplıklarıyla JPA uygular. EntityManager ve Ek Açıklamalar Hazırda Bekletme süresinin yaşam döngüsünü izler. En yeni JPA sürümü (JPA 2.0) Hibernate 3.5 tarafından tamamen desteklenmektedir. JPA'nın standartlaştırılmış bir arayüze sahip olma avantajı vardır, bu nedenle geliştirici topluluğu Hibernate'den daha tanıdık olacaktır. Öte yandan, yerel Hibernate API'leri daha güçlü olarak kabul edilebilir, çünkü özellikleri JPA'nın bir üst kümesidir..