ORM, Hibernate, Spring Data ve JPA Kavramları Nedir?

Yazar:



Bu yazıda en basit tanımıyla ORM, Spring Data ve JPA kavramlarından bahsettim. Olabildiğince basit, kafa karıştırmayacak şekilde bir içerik olmasına özen gösterdim. Daha fazla bilgi edinmek isteyenler için konu altında gerekli kaynakları ekledim. Konu ile ilgili yorumlarınızı yorum formu üzerinden iletebilirsiniz. Faydalı olması dileğiyle.

ORM - Object Relational Mapping

  • ORM toolları nesne tabanlı programlamada bulunan objeler ile veritabanı sistemimizdeki tablolar arasında köprü görevi kurulmasını sağlar. 
  • ORM bir konsepttir. Yani model ile veritabanı arasında kurulması gereken konseptin adıdır. Bir araç değildir. 
  • Hibernate gibi EclipseLink, OpenJPA, TopLink gibi birçok farklı ORM aracı bulunmaktadır 
  • ORM toollarından önce yazılımcılar, modeldeki tanımlamaları veritabanındaki tablolarla eşleştirecek kodlar yazıyorlardı.

Hibarnate

  • ORM’nin bir aracıdır. ORM konseptini uygulayan bir araçtır.
  • JPA'nın implementasyonudur.

JPA - Java Persistence Api

  • Java’nın persistence (kalıcılaştırma) apisi olarak geçer. Persistence kelimesi ise uygulama tarafında, veritabanındaki tablo yapısına denk gelen bir model oluşturmak ve bu modele gerekli dataları set etmek anlamına gelmektedir. Bu objeye ait datalar JPA tarafından veritabanına kayıt edilmek üzere kullanılmaktadırlar. 
  • JPA aslında Hibernate, EclipseLink, DataNucleus gibi diğer persistence apilerin birleştirilmesiyle oluşmuştur. 
  • JPA bir standarttır. Hibernate, EclipseLink gibi ORM toolları, JPA'nın implementasyonlarıdırlar.
  • JPA sayesinde ORM toolları arasından istediğimiz birini kullanabilmekteyiz.

Konuyla ilgili internetteki kaynaklarda verilmiş şu benzetmeler gayet hoşuma gitti.
JPA is the dance, Hibernate is the dancer.
JPA is the art, Hibernate is the artist."

Spring Data JPA

  • Hibernate gibi JPA Provider’ların üzerine ek bir soyutlama katmanı ekleyerek veritabanın sorguları kolaylaştırılmıştır. 
  • Sprin Data JPA kullanırsak Repository sınıfımız şöyle olacaktır. En üstte Spring Data JPA > Spring Data Commons > JPA Provider 
  • Spring Data Commons, veri kaydetmeye özgü Spring Data projeleriyle paylaşılan altyapıyı sağlar. 
  • JPA Provider, Hiberbate gibi Java Persistence API’leri implement eder. 

JpaRepository, CrudRepository ve PagingeAndSortingRepository


Yazıyla paralel olarak yararlanabileceğiniz kaynaklar :

3 yorum:

  1. Şu ana kadar denk geldiğim en sade ve açıklayıcı yazı. Teşekkür ederim.
    Bir sonraki adım olarak yatayda ve dikeyde genişlerse tadından yenmez.

    YanıtlaSil
    Yanıtlar
    1. Değerli yorumunuz için çok teşekkür ederim aslında vakit bulabilsem yazmak istediğim çok şey var ama gerekli vakti bulamıyorum maalesef. Yazının faydalı olmasına sevindim.

      Sil
Yorum Sayfası :


Yorum formuna konuyla ilgili görüş ve sorularınızı bırakabilirsiniz.

Yorumunuza mümkün olan en kısa sürede dönüş yapılacağından emin olabilirsiniz.


Eklenen yorumlar, moderatör onayından sonra yayınlanmaktadır.

BLOGKAFEM.NET © Copyright 2008-2023
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkında | İletişim