WORKING WITH SPRING DATA JPA: CUSTOM QUERIES EĞİTİMİ

Karmaşık sorguları Spring Data JPA ile temiz yazın

@Query, JPQL, native sorgu, Specification, Criteria, EntityGraph, projeksiyon ve özel repository fragment iki günde uygulamalı işlenir

Spring Data JPA özel sorgu eğitimi; JPQL ve native @Query, @Modifying, projeksiyonlar, Specification, Criteria, Querydsl, repository fragment ve N+1 performans çözümlerini kapsar.

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

Eğitim Hakkında

Spring Data JPA'da özel sorgu teknikleri

Eğitim, türetilmiş sorguların yetmediği durumlar için Spring Data JPA tekniklerini işler. @Query ile JPQL ve native SQL, @Param ve SpEL parametreleri, @Modifying güncellemeler, JOIN FETCH ve @EntityGraph, interface ve class projeksiyonlar, Specification ile dinamik filtre, Criteria API, Querydsl'e giriş, özel repository fragment yazımı ve sorgu performansı uygulamalı verilir.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün @Query ve Projeksiyon; 2. gün Dinamik Sorgu, Özel Depo ve Performans.

Seviye

Orta Seviye — Spring Data JPA'da JPQL, native sorgu, Specification, EntityGraph ve özel depo uygulamaları

Öğrenme Metodu

Katılımcılar bir e-ticaret veri modelinde arama, raporlama ve toplu güncelleme sorguları yazar; Hibernate SQL çıktısını izleyerek optimize eder.

Neden Bu Eğitim?

🔎Esnek Sorgu

JPQL, native SQL ve Specification arasından uygun yöntemi seçersiniz.

⚡Doğru Veri Çekme

JOIN FETCH ve projeksiyonla gereksiz veri ve N+1 yükünü azaltırsınız.

🧰Özel Depo

Spring Data'nın yetmediği yerde kendi repository mantığınızı güvenle eklersiniz.

Anahtar Konular

spring data jpajpql@queryspecificationentitygraphnative queryquerydsljpa projeksiyonn+1 sorunurepository fragment
“Sorgu yazmak kolay; doğru veriyi doğru maliyetle çekmek sanattır.”

Ön Koşullar

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

1
Spring Data JPA

JpaRepository ve sorgu türetme deneyimi gerekir.

2
JPA temelleri

Entity ve ilişki eşlemeleri bilinmelidir.

3
SQL

JOIN, GROUP BY ve alt sorgu yazabilmek gerekir.

4
Ortam

JDK 17, PostgreSQL (Docker) ve IntelliJ IDEA kurulu olmalıdı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ı @Query ile özel sorgular yazar ve projeksiyonla okuma optimize eder.
Modül 1
JPQL
  • @Query ile JPQL sözdizimi
  • Konumsal ve adlandırılmış parametreler
  • JOIN, LEFT JOIN ve alt sorgu
  • Toplama fonksiyonları ve GROUP BY / HAVING
  • Constructor expression ile DTO sonucu
  • LIKE aramasında kaçış ve büyük/küçük harf
Modül 2
Native Sorgu
  • nativeQuery=true kullanımı
  • Veritabanına özgü fonksiyonlar (PostgreSQL jsonb vb.)
  • Sonuç eşleme: @SqlResultSetMapping
  • Native sorguda sayfalama ve countQuery
  • Taşınabilirlik riski
  • Ne zaman native tercih edilir
Modül 3
Güncelleme Sorguları
  • @Modifying ile toplu update/delete
  • clearAutomatically ve flushAutomatically
  • Persistence context tutarsızlığı
  • @Transactional gerekliliği
  • Toplu işlemde entity listener atlanması
  • Soft delete toplu güncelleme örneği
Modül 4
Projeksiyonlar
  • Interface projeksiyon: kapalı ve açık
  • Class (record) tabanlı DTO projeksiyon
  • Dinamik projeksiyon (Class<T> parametresi)
  • İç içe projeksiyon
  • Projeksiyonun ürettiği select
  • Entity yerine projeksiyon ne zaman tercih edilmeli
Günün hedefiKatılımcı dinamik filtre kurar, özel depo yazar ve sorguları optimize eder.
Modül 1
Specification
  • JpaSpecificationExecutor arayüzü
  • Specification birleştirme: and, or, not
  • Filtre nesnesinden dinamik koşul üretme
  • Join içeren Specification
  • Sayfalama ve sıralama ile birlikte
  • Specification'ların test edilmesi
Modül 2
Criteria ve Querydsl
  • Criteria API temel yapısı
  • CriteriaBuilder, Root, Predicate
  • Metamodel (Entity_) kullanımı
  • Querydsl Q-tipleri ve BooleanBuilder
  • QuerydslPredicateExecutor
  • Hangi yaklaşım ne zaman uygun
Modül 3
Özel Depo
  • Repository fragment arayüzü ve Impl sınıfı
  • EntityManager ile özel sorgu
  • Birden çok fragment birleştirme
  • Temel repository sınıfını özelleştirme
  • JdbcTemplate ile karma kullanım
  • Fragment testleri
Modül 4
Performans
  • N+1 sorunu ve JOIN FETCH
  • @EntityGraph attributePaths
  • Çoklu koleksiyon fetch ve MultipleBagFetchException
  • Sayfalama ile fetch join uyarısı (in-memory)
  • @BatchSize ve default_batch_fetch_size
  • Hibernate Statistics ve sorgu sayısı testi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
JPQL Yazımı

JOIN, GROUP BY ve DTO sonuçlu JPQL sorguları yazabilirsiniz.

✅
Native Sorgu

Gerektiğinde native SQL ve sonuç eşlemeyi doğru kullanabilirsiniz.

✅
Toplu Güncelleme

@Modifying ile toplu işlem yapıp persistence context'i yönetebilirsiniz.

✅
Projeksiyon

Interface ve DTO projeksiyonlarıyla yalnızca gerekli veriyi okuyabilirsiniz.

✅
Specification

Dinamik filtre sorgularını Specification ile kurabilirsiniz.

✅
Criteria ve Querydsl

Criteria API ve Querydsl'in farklarını bilip seçim yapabilirsiniz.

✅
Özel Repository

Repository fragment ile özel sorgu mantığı ekleyebilirsiniz.

✅
Performans Ayarı

JOIN FETCH ve EntityGraph ile N+1 sorununu çözebilirsiniz.

Kimler İçin Uygundur?

  • Spring Data JPA'yı temel düzeyde kullanan ve raporlama
  • arama ekranı gibi karmaşık sorgular yazan geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Spring Data JPA'yı temel düzeyde kullanan ve raporlama, arama ekranı gibi karmaşık sorgular yazan geliştiriciler için uygundur.
Specification mı Querydsl mi?
İki yaklaşım aynı filtre örneğinde uygulanıp okunabilirlik, tip güvenliği ve bakım açısından karşılaştırılır.
Native sorguda sayfalama nasıl yapılır?
countQuery ve Pageable ile native sayfalama örnek uygulamada gösterilir.
PostgreSQL'e özel özellikler işleniyor mu?
Evet; jsonb ve tam metin arama gibi örneklerle native sorgu kullanımı gösterilir.
Sertifika verilir mi?
Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Working with Spring Data JPA: Custom Queries Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava Developer Professional: Lambda Expressions and Functional Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Java Developer Professional: Lambda Expressions and Functional Programming Eğitimi

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

Java Professional: Lambda ve Fonksiyonel Programlama eğitimi: Predicate, Function, Supplier, Consumer, UnaryOperator, lambda ve method reference, Stream ara ve.

Detayları Gör →
Java ve JVMJava Developer Professional: Records, Sealed Classes, and Nested Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java Developer Professional: Records, Sealed Classes, and Nested Classes Eğitimi

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

Java Developer Professional: Records, Sealed Classes, and Nested Classes eğitimi: modern Java ile immutable veri ve kapalı tip hiyerarşileri. Uygulamalı 2 gün p

Detayları Gör →
Java ve JVMJava Developer Professional: The Stream API Eğitimi
Yazılım Geliştirme Eğitimleri

Java Developer Professional: The Stream API Eğitimi

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

Java Developer Professional: The Stream API eğitimi: stream pipeline tasarımı ve Collectors ustalığı. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Development Certificate Program Eğitimi
Yazılım Geliştirme Eğitimleri

Java Development Certificate Program Eğitimi

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

Java Development Certificate Program eğitimi: java dilini baştan sona uygulamalı öğrenme programı. Uygulamalı 4 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Development with Eclipse Eğitimi
Yazılım Geliştirme Eğitimleri

Java Development with Eclipse Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java Development with Eclipse eğitimi: eclipse IDE ile verimli Java geliştirme akışı. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifi

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