JPA (Java Persistence API)
JPA, Java programlama dilinde Java sınıfları ile ilişkisel veritabanı tablolarını ilişkilendirmek için ortaya çıkmış bir standarttır. Burada amaç sınıf değişkenleri ile tablonun kolonlarını eşleştirmek ve SQL yazmadan nesneler üzerinden doğrudan veritabanı işlemlerini yapmaktır. Bu noktada JPA sadece bir standart ortaya koyar ve veri üzerinde kendisi bir işlem yapmaz. Bunun için bu standartları implemente eden ayrı bir araca ihtiyaç vardır, JPA implementasyonu yapan başlıca araçlar olarak Hibernate, TopLink, EclipseLink ve OpenJPA sayılabilir.
JPA spesifikasyonunda obje-tablo ilişkisini yönetmek için iki tane araç bulunur; anotasyonlar ve XML konfigürasyon dosyaları. Bu iki araçtan birini kullanarak JPA için gerekli olan meta bilgisini oluşturabiliriz. İkisini birden kullanmak da mümkün bu durumda XML konfigürasyonu anotasyonları ezer. Anotasyon kullanımı daha popüler olduğu için bu makalede sadece anotasyon kullanımına yer verilmiştir. Anotasyonlar ile ilgili bilgi eksiğiniz var ise aşağıdaki bağlantıdan anotasyon yaratma ve kullanımı hakkında bilgi edinebilirsiniz.