• Anasayfa
  • Eğitimler
    • JavaScript Eğitimi
    • Angular 2 Eğitimi
    • React.js Eğitimi
    • Java 8 Eğitimi
    • Java EE 7 Eğitimi
    • Spring Framework Eğitimi
    • Git Eğitimi
  • Online Eğitimler
    • Online React.js Eğitimi
    • Online Angular 2 Eğitimi
    • Online Spring Boot Eğitimi
  • Referanslar
  • Hakkında
  • İletişim
KodEdu
  • Anasayfa
  • Eğitimler
    • JavaScript Eğitimi
    • Angular 2 Eğitimi
    • React.js Eğitimi
    • Java 8 Eğitimi
    • Java EE 7 Eğitimi
    • Spring Framework Eğitimi
    • Git Eğitimi
  • Online Eğitimler
    • Online React.js Eğitimi
    • Online Angular 2 Eğitimi
    • Online Spring Boot Eğitimi
  • Referanslar
  • Hakkında
  • İletişim

Java Persistence API Nedir? (Giriş)

  • Posted by Kodedu
  • Categories backend, Genel, Uncategorized, Veritabanları, Yazılar
  • Date 30 Ekim 2011

Çoğu zaman yazılım geliştiricileri, yazılım projelerinde ; Verilerini saklama, kaydetme, yani kalıcı (persistent) hale getirme ihtiyacı duyuyor. Normal şartlarda bir Java sınıfı, koşum zamanında (Runtime) mevcut durumunu (state’ini) korumaktadır. Yani burada durum (hal) dediğimiz şey, sınıf içerisindeki değişken tanımlamaları, nesne referansları vs. Yine koşum anında bu verilere erişmek gayet olası bir durum. Peki program koşumu sonlandığında ne olacak? Cevap : Garbage Collecter koşumu biten nesneleri ve dolayısıyla state’ ini yok edecek. Peki bu sınıfları bir ikincil disk birimi üzerinde kalıcı hale getirmek için ne yapılabilir.

Birince seçenek, ismi konu olan sınıfı serileştirerek bit serileri halinde ikincil bir disk birimine kaydetmek olacaktır.

İkinci seçenek ise, olası kullandığımız ilişkisel veritabanlarında (mysql, hsqldb, derby) verilerimizi saklamak olacaktır.

İlişkisel veritabanlarının içerisinde tablolarımız, bu tabloların dahilinde de kolonlarımız mevcut. Bu kolonların altında da satırlarımız mevcut. Yine bir tablo içinde birincil anahtar (primary key) ve yabancı anahtar (foreign key) bulunabilir. Yine bu kolonlara ait kısıtlar (constrait) (unique,null gibi) bulunabilir. Fakat, nesneye yönelik programlama yaklaşımı tüm bu birimlerden bihaberdir. Farzedelimki, bir sınıfımız mevcut, ve biz bu sınıfı persiste etmek istiyoruz. Klasik yaklaşımda, veritabanına bir bağlantı kuracaktık ve nesne özelliklerini bilindik SQL komutları ile veritabanımıza kaydedecektik. Herşey güzel hoşta, gereksiz kod kalabalığı ve akabinde bir karmaşıklık ortaya çıkacaktı. İşte bu noktada biz istiyoruz ki, nesneye yönelik geliştirilmiş bir yazılım projesinde, geliştirici bu kod kalabalığına bulaşmasın, bir birim herhangi bir sınıf nesnesini bizim için ilişkisel veritabanına, nesneye yönelik yaklaşıma uygun kayıt etsin.

Bu birim Java’nın bize sunduğu JPA (Java Persistence Api)’ dir . Piyasada JPA’yı implement eden yani uygulayan pek çok uygulama mevcut. Bunlardan en çok kullanılanlar EclipseLink, Hibernate ve Toplink. Birazdan izleyeceğimiz projede EclipseLink implementasyonunu kullanacağız. Kuram kısmının şu anlık yeterli olduğunu düşünüyorum. Şimdi ise Uygulama kısmına geçelim.

Kaynak Kodlar

Tag:jpa, jpa giriş, veritabanı

  • Share:
author avatar
Kodedu

Previous post

Bulut uygulama platformu Heroku şimdi Java' yıda destekliyor
30 Ekim 2011

Next post

Web sayfalarınızı tüm cihazlar için tasarlayın
1 Kasım 2011

You may also like

api-logo
Swagger Nedir? Neden kullanılır?
10 Ekim, 2018
spring-cli-logo
Spring CLI ile Spring Boot Projeleri Hazırlamak
21 Ağustos, 2017
eureka_architecture
Spring Cloud Netflix ve Eureka Service Discovery
3 Temmuz, 2017

    4 Comments

  1. Elchin3d
    30 Ekim 2011
    Cevapla

    Rahman bey, bir azeri olarak yaptığınız video eğitime saygı duydum. Dersler için teşekkürler. Sadece olarak video görüntü kalitesi düşük olduğu üçün izlemek bir az sıkıcı geliyor.

    • Rahman Usta
      30 Ekim 2011
      Cevapla

      Merhabalar, iyi niyetiniz için teşekkür ederim. Eğer video çalıştığında 360p yazan kısıma tıklarsanız, ardışık olarak video kalitesini görebilirsiniz. Eğer en üstteki 720p ‘ yi seçerseniz HD kalitede izleyebilirsiniz.

  2. Mehmet
    31 Ekim 2011
    Cevapla

    Başarılı bir paylaşım, çok yardımcı oldunuz, devamını sabırsızlıkla bekliyoruz..
    Hibernate, Transcation yönetimi ve ileri JPA konuları bekliyoruz..

  3. Utku
    29 Haziran 2020
    Cevapla

    Teşekkür ederim.

Leave A Reply Cevabı iptal et

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

E-posta listesine kayıt olun!






Gözde yazılar

Java Mimarisiyle Kurumsal Çözümler : Kurumsal Java Kitabı
16Eyl2012
Java API for JSON Processing – Stream bazlı JSON Üretmek ve Tüketmek
06Ağu2013
AsciidocFX projesi Duke’s Choice Award 2015 ödülünü kazandı
28Eki2015
Knockout.js – Hesap Makinesi Örneği
02Şub2013

Son Yazılar

  • Java’da Record’lar 27 Ocak 2020
  • Swagger Nedir? Neden kullanılır? 10 Ekim 2018
  • Spring CLI ile Spring Boot Projeleri Hazırlamak 21 Ağustos 2017
  • Spring Cloud Netflix ve Eureka Service Discovery 3 Temmuz 2017
  • Online React.js Eğitimi ardından (15-25 Mayıs 2017) 31 Mayıs 2017

Son Yorumlar

  • Coupling ve Cohesion Kavramları Nedir? için Hilal
  • Naïve Bayes Sınıflandırma Algoritması için Rahman Usta
  • Naïve Bayes Sınıflandırma Algoritması için Mete
  • YAML Nedir? Neden YAML Kullanmalıyız? için kara
  • JWT (JSON Web Tokens) Nedir? Ne işe yarar? için Furkan

Get Java Software

Arşivler

Bizi takip edin

React.js Eğitimi Başlıyor
11-22 Eylül, 2017
Eğitmen
Rahman Usta
İletişim

merhaba@kodedu.com

  • Hakkında
  • Gizlilik Politikası
  • İletişim
  • Referanslar
Kodedu Bilişim Danışmanlık
Cemil Meriç mah. Çelebi sok.
No:16/3 Ümraniye/İSTANBUL
Tel: 0850 885 38 65
Alemdağ V.D.: 8960484815

KODEDU © Tüm hakları saklıdır.