FRONT-END APPS: DATA PERSISTENCE EĞİTİMİ

JPA ile kalıcı veri katmanı

Entity eşlemeden ilişkilere, JPQL ve Criteria'dan işlem ve önbelleğe JPA veri kalıcılığı

Front-end Apps: Data Persistence Eğitimi, Java uygulamalarında kalıcı veri katmanını JPA ile kurmayı öğretir. Program entity eşleme, birincil anahtar üretimi ve persistence unit yapılandırmasıyla başlar; bire-bir, bire-çok ve çoka-çok ilişkileri modellemeyi,…

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Entity eşleme, ilişkiler, JPQL ve Criteria API ile sorgu, işlem yönetimi ve performans ayarı

Front-end Apps: Data Persistence Eğitimi, Java uygulamalarında kalıcı veri katmanını JPA ile kurmayı öğretir. Katılımcılar entity eşleme, birincil anahtar üretimi ve persistence unit yapılandırmasıyla başlar; bire-bir, bire-çok ve çoka-çok ilişkileri modeller. JPQL ve Criteria API ile sorgular yazar, işlem yönetimi, entity yaşam döngüsü, ikinci seviye önbellek ve kilitleme ile performansı ele alır.

Süre ve Format

3 Gün. Her gün dört modül; bir alan modeli üç gün boyunca entity'lere, ilişkilere ve sorgulara dönüştürülerek çalışan bir veri katmanı kurulur.

Seviye

Orta Seviye — JPA ile entity eşleme, ilişkiler, JPQL/Criteria sorguları ve işlem-önbellek yönetimi

Öğrenme Metodu

Örnek bir alan modeli üç gün boyunca JPA ile kodlanır; her modülde eşleme, sorgu veya işlem konusu uygulamalı yazılır.

Neden Bu Eğitim?

🗃️Standart veri katmanı

JPA ile nesne-ilişkisel eşlemeyi standart biçimde kurar, elle SQL yazmadan taşınabilir ve bakımı kolay bir kalıcılık katmanı oluşturursunuz.

🔗İlişki modelleme

Bire-bir, bire-çok ve çoka-çok ilişkileri doğru eşler, fetch ve cascade ayarlarıyla veri bütünlüğünü ve performansı dengelersiniz.

⚙️Performans kontrolü

N+1 sorunu, önbellek ve kilitlemeyi anlar, sorguları ve işlem sınırlarını optimize ederek veri katmanının verimli çalışmasını sağlarsınız.

Anahtar Konular

jpa eğitimijava veri kalıcılığıhibernate eğitimijpql sorgucriteria apiorm eğitimijava persistenceentity eşlemejava backend eğitimiveri katmanı eğitimi
“İyi bir veri katmanı görünmezdir; JPA'yı doğru eşleme, sorgu ve işlem kararlarıyla kurduğunuzda uygulama veritabanıyla sessizce uyum içinde çalışır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve kurulum

1
Java bilgisi

Sınıf, nesne, generic ve koleksiyon kavramlarına hakimiyet beklenir; JPA eşlemeleri bu temel üzerine kurulur.

2
SQL temeli

Tablo, birincil/yabancı anahtar ve temel SQL sorgularına aşinalık, eşleme ve JPQL konularını anlamayı kolaylaştırır.

3
Geliştirme ortamı

JDK, bir IDE ve Maven veya Gradle kurulu; Hibernate veya EclipseLink sağlayıcısıyla örnek proje çalıştırılabilir.

4
Veritabanı erişimi

H2, PostgreSQL veya MySQL gibi erişilebilir bir veritabanı; uygulamalar bu veritabanı üzerinde yürütülür.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı JPA mimarisini ve sağlayıcı rolünü kavrar, entity'leri ve birincil anahtarları eşler, persistence unit'i yapılandırır ve EntityManager ile temel işlemleri yapar.
Modül 1
JPA Mimarisi ve Sağlayıcı
  • JPA, ORM ve JDBC arasındaki konumun kavranması
  • Hibernate ve EclipseLink sağlayıcı rolü
  • persistence.xml ve persistence unit tanımı
  • EntityManagerFactory ve EntityManager ilişkisi
  • Yönetilen ve yönetilmeyen (detached) durumlar
  • Persistence context (kalıcılık bağlamı) kavramı
Modül 2
Entity ve Temel Eşleme
  • @Entity, @Table ve @Column ile eşleme
  • Temel tiplerin ve enum alanların eşlenmesi
  • @Transient ile kalıcı olmayan alan tanımı
  • @Temporal ve tarih/zaman eşlemeleri
  • @Lob ile büyük metin ve ikili veri
  • Alan ve özellik (field/property) erişim türü
Modül 3
Birincil Anahtar ve Üretim
  • @Id ile birincil anahtar tanımı
  • @GeneratedValue ve üretim stratejileri
  • IDENTITY, SEQUENCE ve TABLE stratejileri
  • @EmbeddedId ile bileşik anahtar eşleme
  • @IdClass ile çoklu anahtar alanı
  • Doğal ve yapay anahtar tasarım kararı
Modül 4
EntityManager ile CRUD
  • persist ile yeni entity kaydetme
  • find ve getReference ile veri okuma
  • merge ile detached entity güncelleme
  • remove ile entity silme işlemi
  • flush ve clear ile bağlam yönetimi
  • @Embeddable ile değer nesnesi eşleme
Günün hedefiKatılımcı entity ilişkilerini eşler, fetch ve cascade davranışını ayarlar, JPQL ve Criteria API ile sorgular yazar ve adlandırılmış sorgularla sorguları yeniden kullanır.
Modül 1
İlişki Türleri ve Eşleme
  • @OneToOne ile bire-bir ilişki eşleme
  • @ManyToOne ve @OneToMany ile bire-çok
  • @ManyToMany ve bağlantı tablosu eşleme
  • mappedBy ile ilişki sahipliği (owning side)
  • @JoinColumn ve @JoinTable yapılandırması
  • İki yönlü ilişkide tutarlılığın korunması
Modül 2
Fetch ve Cascade Davranışı
  • LAZY ve EAGER yükleme stratejileri
  • N+1 sorgu sorununun tanınması ve önlenmesi
  • Fetch join ile ilişkili verinin tek sorguda yüklenmesi
  • CascadeType ile işlem yayılımı
  • orphanRemoval ile yetim kayıt silme
  • Fetch ve cascade seçiminde performans dengesi
Modül 3
JPQL ile Sorgulama
  • JPQL ile entity odaklı sorgu yazımı
  • WHERE, ORDER BY ve toplama fonksiyonları
  • JOIN ve FETCH JOIN ifadelerinin kullanımı
  • Adlandırılmış ve konumsal parametreler
  • Projeksiyon ve constructor expression ile DTO
  • setMaxResults ile sayfalama (pagination)
Modül 4
Criteria API ve Named Query
  • CriteriaBuilder ile tip güvenli sorgu
  • Root, Predicate ve dinamik koşul kurulumu
  • Metamodel ile tür güvenli alan erişimi
  • @NamedQuery ile sorgu yeniden kullanımı
  • Native query ile ham SQL çalıştırma
  • Criteria ve JPQL seçim kriterleri
Günün hedefiKatılımcı işlem sınırlarını ve izolasyonu yönetir, entity yaşam döngüsü geri çağrımlarını kullanır, ikinci seviye önbelleği yapılandırır ve kilitlemeyle eşzamanlılığı ele alır.
Modül 1
İşlem (Transaction) Yönetimi
  • İşlem (transaction) sınırlarının belirlenmesi
  • Resource-local ve JTA işlem ayrımı
  • commit, rollback ve işlem kapsamı
  • Yayma (propagation) ve izolasyon kavramı
  • İşlem içinde flush zamanlaması
  • İşlem sınırının performansa etkisi
Modül 2
Entity Yaşam Döngüsü
  • New, managed, detached ve removed durumlar
  • Durum geçişlerinin EntityManager ile yönetimi
  • @PrePersist ve @PostPersist geri çağrımları
  • @PreUpdate, @PostUpdate ve @PreRemove
  • @PostLoad ile yükleme sonrası işlem
  • EntityListener ile dinleyici tanımı
Modül 3
Önbellek ve Sorgu İyileştirme
  • Birinci seviye (persistence context) önbellek
  • İkinci seviye önbelleğin yapılandırılması
  • @Cacheable ve önbellek paylaşım modu
  • Sorgu önbelleği ve geçerlilik yönetimi
  • Batch fetching ile N+1 azaltma
  • Önbelleğin tutarlılık ve bellek dengesi
Modül 4
Kilitleme ve Eşzamanlılık
  • İyimser kilitleme (@Version) ile çakışma kontrolü
  • OptimisticLockException yönetimi
  • Kötümser (pessimistic) kilit modları
  • LockModeType seçimi ve kullanım senaryosu
  • Eşzamanlı güncellemede veri bütünlüğü
  • Bean Validation ile kalıcılık öncesi doğrulama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Entity eşleme

@Entity, @Column ve anahtar üretim stratejileriyle alan modelini veritabanı tablolarına doğru ve taşınabilir biçimde eşlersiniz.

✅
İlişki modelleme

Bire-bir, bire-çok ve çoka-çok ilişkileri mappedBy ve join eşlemeleriyle tutarlı ve iki yönlü biçimde kurarsınız.

✅
JPQL sorguları

JPQL ile join, parametre, projeksiyon ve sayfalama kullanarak entity odaklı sorguları esnek biçimde yazarsınız.

✅
Criteria API

CriteriaBuilder ve metamodel ile tip güvenli, dinamik sorgular kurar ve native query ile ham SQL çalıştırabilirsiniz.

✅
İşlem yönetimi

İşlem sınırlarını, commit-rollback akışını ve izolasyonu yöneterek veri tutarlılığını güvence altına alırsınız.

✅
Yaşam döngüsü

Entity durum geçişlerini ve yaşam döngüsü geri çağrımlarını kullanarak kalıcılık davranışını denetim altına alırsınız.

✅
Önbellek ayarı

Birinci ve ikinci seviye önbellekle ve batch fetch ile N+1 sorununu azaltıp sorgu performansını iyileştirirsiniz.

✅
Eşzamanlılık

İyimser ve kötümser kilitlemeyle eşzamanlı güncellemelerde çakışmayı yönetir ve veri bütünlüğünü korursunuz.

Kimler İçin Uygundur?

  • Java ile sunucu tarafı uygulama geliştiren
  • veritabanı erişimini JPA ile standart ve bakımı kolay biçimde kurmak isteyen orta düzey Java geliştiricileri
  • backend yazılımcıları
  • veri katmanından sorumlu mühendisler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile sunucu tarafı uygulama geliştiren, veritabanı erişimini JPA ile standart ve bakımı kolay biçimde kurmak isteyen orta düzey Java geliştiricileri, backend yazılımcıları ve veri katmanından sorumlu mühendisler için uygundur. Java sınıf ve koleksiyon kavramlarına hakimiyet ile temel SQL bilgisi beklenir.
Hangi JPA sağlayıcısı kullanılıyor?
Eğitim JPA standardını temel alır ve örnekler çoğunlukla Hibernate sağlayıcısıyla çalıştırılır; EclipseLink farkları da belirtilir. Amaç standarda hakim olmak olduğundan, öğrenilen eşleme, JPQL ve işlem kavramları sağlayıcıdan bağımsız olarak taşınabilir biçimde ele alınır ve farklı veritabanlarında uygulanabilir.
N+1 sorunu ve performans konuları işleniyor mu?
Evet. Fetch stratejileri, N+1 sorgu sorununun tanınması, fetch join ve batch fetching ile çözümü, birinci ve ikinci seviye önbellek ile sorgu önbelleği eğitimin önemli bölümlerindendir. Ayrıca işlem sınırlarının ve kilitleme modlarının performans ve eşzamanlılık üzerindeki etkisi örneklerle gösterilir.
Eğitimin süresi ve formatı nedir?
Eğitim üç gün sürer ve her gün dört modülden oluşur. Örnek bir alan modeli üç gün boyunca entity'lere, ilişkilere ve sorgulara dönüştürülerek çalışan bir veri katmanı kurulur. Yüz yüze veya online yapılabilir; içerik kurumun kullandığı veritabanı ve mimariye göre uyarlanabilir.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve eğitim boyunca JPA ile geliştirilen örnek veri katmanını belgeler; kurumsal gruplara kurumun kendi alan modeli üzerinden uygulamalı çalışmayla genişletilebilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Front-end Apps: Data Persistence Eğitimi Sertifika Kodu DV-2026XX00 Tarih 14.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Web Geliştirme GenelFSD Front-End Development: UI Development with ReactJS Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

FSD Front-End Development: UI Development with ReactJS Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

React ile modern arayüz geliştirme: JSX, bileşen, hook'lar, useState, useEffect, Context, React Router, veri çekme ve performans optimizasyonu eğitimi.

Detayları Gör →
Web Geliştirme GenelFSD Programming Languages: FSD Front-end Primer Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

FSD Programming Languages: FSD Front-end Primer Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

HTML, CSS ve JavaScript ile ön yüz geliştirme temeli: semantik HTML, Flexbox ve Grid, duyarlı tasarım, DOM, olaylar ve fetch ile veri çekme eğitimi.

Detayları Gör →
Web Geliştirme GenelFull Stack Web Geliştirme Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Full Stack Web Geliştirme Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Ön yüz, Node.js arka uç, REST API, veritabanı ve JWT kimlik doğrulamayla uçtan uca tam yığın web uygulaması geliştirme ve yayına alma eğitimi.

Detayları Gör →
Web Geliştirme GenelGo ile Web Programlama Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Go ile Web Programlama Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Go ile web programlama: net/http, REST API, JSON, middleware, database/sql, goroutine ve channel ile eşzamanlılık, test ve dağıtım eğitimi.

Detayları Gör →
Web Geliştirme GenelIT Sistemleri için FrontEnd ve BackEnd Geliştirme Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

IT Sistemleri için FrontEnd ve BackEnd Geliştirme Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

HTML, CSS, JavaScript, Node.js, Express, REST API, veritabanı ve JWT ile ön yüzden sunucuya tam yığın web uygulaması geliştirmeyi öğreten uygulamalı eğitim.

Detayları Gör →
Web Geliştirme Genelİleri Seviye ASP.NET Core MVC ile Web Programlama Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

İleri Seviye ASP.NET Core MVC ile Web Programlama Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

EF Core, ASP.NET Core Identity, Dependency Injection, katmanlı mimari ve test ile kurumsal düzeyde ASP.NET Core MVC uygulamaları geliştirmeyi öğreten ileri eğit

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn