Java Persistance API – JPA Nedir?

JPA, Java’nın derinliklerine indiyseniz adını muhakkak duymuşsunudur. Java Persistance API önceden açıkladığım Object Relational Mapping API’lerinden bir tanesidir.

jpJava Persistence API, JPA nesnelerin ilişkilendirilmesini sağlayan, bu ilişkileri unutmayan sonradan da kullanmaya devam edebileceğimiz bir teknolojidir.

JPA ihtiyacının neden oluştuğuna bakacak olursak SUN firmasına göre “JavaEE veJava SE uygulamalarının geliştirilmesini veri kalıcılığı kullanarak basitleştirmesidir. Diğer neden ise bütün Java topluluğunu tek ve standart bir persistence API altında toplamaktır”

ORM Nesne-Sınıf, Sınıf-Nesne, Nesne-İlişkisel veritabanı arasında ki bağlantıyı sağlamakla görevlidir. ORM’de açıkladığımız gibi bu ilişkilerin kullanım şekli JPA’da sadece ilişkisel-nesne bağlantısını sağlamaktadır. JPA sayesinde veritabanı işlemleri Java’da class’lar ile gerçekleştirebilmekteyiz.

JPA, Hibernate, Toplink, Eclipse-Link gibi ORM’leri kullanılmasını kolaylaştırmak için bir çatı altına almıştır. JPA sayesinde ister Hibernate ister Toplink kullanabiliriz ve bizim sadece “JPA ile Programlama” bilmemiz yeterli olacaktır. (İleride anlatacağım.)  Hibernate ve ya Toplink’in uygulama farklılıkları, yazım düzenin gibi farklılıklar JPA ile ortadan kalkmıştır.

SQL ile uğraşmamıza gerek kalmayacaktır. JPQL ile  Java Persistance API sayesinde veritabanı iletişimini class’lar ve nesneler ile sağlayacağız.

Yazılım ile uğraşan biri olarak JPA teknolojisi uygulama geliştirmemizi daha da hızlandıran bir araç. Çünkü JPA, bizler için gerekli olan bağlantıyı, classları kendi oluşturabilmektedir.

jpen

JPA‘da önemli kavramlardan biriside Entity‘dir. Entity veritabanımız ile yazılımımız arasında ilişki kurmasını sağlayan nesnelerdir. Bu nesneler kalıcı olmak zorundadır. Java Persistance API‘nin çalıştırdığı nesne Entity’dir. Tüm işleri yapan bu nesnemizdir. Arama, silme işlemlerini de yöneterek yapabilmekteyiz.

Platform ve kütüphane bağımsızlığı ile özgürce JPA’yı kullanabilmekteyiz.

2 comments

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir