JPA
Java’nın nesne-ilişkisel eşleme standardı; aslen JSR 220 (2006), bugün Jakarta Persistence. Bir şartnamedir, bir gerçekleştirim değil.
Bir sınıfı @Entity ile, alanları @Id, @ManyToOne, @OneToMany ile işaretlersiniz; kalıcılık bağlamını, tembel yüklemeyi ve değişiklik takibini ise bir EntityManager yönetir. Sorgu dili JPQL, SQL’e benzer ama tablolara değil varlıklara yönelir; Criteria API aynı işi tür güvenli ve dayanılmaz ölçüde ayrıntılı biçimde yapar. Gerçekleştirimler: Hibernate (baskın), EclipseLink (referans gerçekleştirim), OpenJPA. Standart, EJB 2 varlık bileşenlerine tepki olarak doğdu ve özünde Hibernate’in modelini resmileştirdi. Klasik tuzaklar N+1 sorgular ve işlem dışında patlayan tembel yüklemedir.