ADVANCED QUERYING IN JAVA HIBERNATE EĞİTİMİ

Hibernate sorgularını ileri düzeyde yaz ve hızlandır

JPQL ve HQL ile join fetch, Criteria API, native query, DTO projeksiyonu, sayfalama ve sorgu optimizasyonu.

Hibernate İleri Sorgulama eğitimi 2 günlük uygulamalı programda jpql/hql temelleri, join ve fetch, gruplama ve alt sorgu, native sorgu gibi konuları kapsar. Join, gruplama ve alt sorgu içeren JPQL/HQL sorguları yazabilirsiniz.

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

Eğitim Hakkında

JPQL/HQL, Criteria API, projeksiyon ve sorgu optimizasyonu

Bu eğitim, Hibernate'te karmaşık veri sorgulamayı işler. JPQL/HQL ile join, left join fetch, alt sorgu, gruplama (group by/having), agregasyon, CASE ve fonksiyon kullanımı; Criteria API ile tip güvenli dinamik sorgular, Specification mantığı ve JPA Metamodel ele alınır. DTO projeksiyonu (select new, Tuple, Spring Data interface projection), native SQL ve ResultSet mapping, named query, pagination (setFirstResult/setMaxResults) ve keyset sayfalama, N+1 önleme, sorgu planı (EXPLAIN) analizi, indeks stratejisi, sorgu önbelleği ve toplu güncelleme/silme işlenir.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar jpql, hql ve native sorgu konusundan başlayıp criteria, projeksiyon ve optimizasyon konusuyla tamamlar.

Seviye

İleri Seviye — HQL/JPQL, Criteria API, native SQL, projeksiyon, sayfalama ve sorgu performansı.

Öğrenme Metodu

Örnek e-ticaret veritabanında karmaşık sorgular yazılır; SQL logları ve EXPLAIN planlarıyla her sorgunun maliyeti analiz edilip iyileştirilir.

Neden Bu Eğitim?

🔍Dinamik Sorgu

Filtreleri çalışma zamanında birleştiren Criteria sorguları yazarsınız.

🚀Sorgu Performansı

EXPLAIN ve SQL loglarıyla yavaş sorguları bulup düzeltirsiniz.

📦Projeksiyon

DTO ve Tuple ile sadece gereken sütunları çekersiniz.

Anahtar Konular

hibernate jpqlhibernate hqlcriteria apihibernate native queryhibernate projeksiyon dtojpa sayfalamahibernate sorgu optimizasyonuhibernate join fetchjpa specificationhibernate eğitimi
“Hızlı uygulama, doğru sorguyla başlar.”

Ön Koşullar

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

1
Java Temeli

Nesne yönelimli Java ve JDBC'ye giriş düzeyinde bilgi beklenir.

2
SQL Bilgisi

SELECT, JOIN, GROUP BY ve ilişkisel tablo tasarımı kavramlarına aşinalık gerekir.

3
Veritabanı Ortamı

H2, PostgreSQL veya MySQL gibi yerel bir veritabanı kurulumu yapılabilmelidir.

4
Araçlar

Maven bağımlılık yönetimi ve IDE ile proje çalıştırma deneyimi faydalı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ı, karmaşık JPQL/HQL sorgularını yazar ve native SQL ile sonuçları entity veya DTO'ya eşler.
Modül 1
JPQL/HQL Temelleri
  • SELECT, WHERE, ORDER BY ve parametre bağlama
  • Named ve positional parametre
  • LIKE, IN, BETWEEN, IS NULL
  • Entity ve alan yolları (path expression)
  • TypedQuery ve getResultList/getSingleResult
  • NoResultException ve NonUniqueResultException
Modül 2
Join ve Fetch
  • inner join ve left join
  • JOIN FETCH ile ilişki yükleme
  • Çoklu koleksiyon fetch ve MultipleBagFetchException
  • Distinct ve satır çoğalması
  • Implicit join tuzağı
  • N+1 problemini sorgu ile giderme
Modül 3
Gruplama ve Alt Sorgu
  • GROUP BY, HAVING, COUNT, SUM, AVG
  • Alt sorgu: EXISTS, IN, ALL, ANY
  • CASE WHEN ve COALESCE
  • Tarih fonksiyonları ve extract
  • Bulk UPDATE ve DELETE ve persistence context etkisi
  • @NamedQuery ve doğrulama zamanı
Modül 4
Native Sorgu
  • createNativeQuery ve entity eşleme
  • @SqlResultSetMapping ve ConstructorResult
  • Veritabanına özgü fonksiyonlar (window function, CTE)
  • Stored procedure çağrısı
  • Native sorgu ve flush/önbellek uyarıları
  • JPQL ile native seçim kriterleri
Günün hedefiKatılımcı, dinamik sorguları Criteria ile kurar, projeksiyon ve sayfalamayı uygular ve sorguları ölçerek optimize eder.
Modül 1
Criteria API
  • CriteriaBuilder, CriteriaQuery ve Root
  • Predicate listesi ile dinamik filtre
  • Join<> ve fetch ile ilişki
  • JPA Metamodel (Entity_ sınıfları)
  • Sıralama, gruplama ve agregasyon
  • Specification deseni ve yeniden kullanım
Modül 2
Projeksiyon
  • select new DTO(...) yapıcı ifadesi
  • Tuple ve Object[] sonuçları
  • Spring Data interface ve class projection
  • Hibernate ResultTransformer yerine yeni yaklaşım
  • Entity yerine DTO kullanmanın bellek kazancı
  • Dirty checking maliyetinden kaçınma (readOnly)
Modül 3
Sayfalama ve Büyük Veri
  • setFirstResult/setMaxResults ve OFFSET maliyeti
  • Koleksiyon fetch ile bellekte sayfalama uyarısı (HHH000104)
  • Keyset (seek) sayfalama
  • Count sorgusu ve toplam sayfa
  • Stream/ScrollableResults ile büyük sonuç
  • Fetch size ve JDBC ayarları
Modül 4
Optimizasyon
  • hibernate.show_sql ve format_sql
  • Hibernate Statistics ve slow query log
  • EXPLAIN ANALYZE ile sorgu planı okuma
  • İndeks stratejisi ve bileşik indeks
  • Sorgu önbelleği (query cache) ne zaman
  • Sorgu kütüphanesi için test: Testcontainers

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
JPQL Yazımı

Join, gruplama ve alt sorgu içeren JPQL/HQL sorguları yazabilirsiniz.

🧠
Fetch Yönetimi

JOIN FETCH ile N+1 problemini sorgu düzeyinde çözebilirsiniz.

⚙️
Native SQL

Native sorguları DTO veya entity'ye eşleyebilirsiniz.

🔍
Criteria API

Dinamik filtreli tip güvenli sorgular oluşturabilirsiniz.

🛠️
Projeksiyon

DTO ve Tuple projeksiyonu ile gereksiz veri çekimini azaltabilirsiniz.

📈
Sayfalama

OFFSET ve keyset sayfalama yöntemlerini doğru seçebilirsiniz.

🧩
Toplu İşlem

Bulk update/delete işlemlerinin persistence context etkisini yönetebilirsiniz.

🚀
Sorgu Analizi

SQL log ve EXPLAIN planıyla yavaş sorguları iyileştirebilirsiniz.

Kimler İçin Uygundur?

  • Hibernate/JPA ile temel sorgu yazmış ve dinamik
  • performanslı
  • raporlama düzeyinde sorgular geliştirmek isteyen Java geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Hibernate/JPA ile temel sorgu yazmış ve dinamik, performanslı, raporlama düzeyinde sorgular geliştirmek isteyen Java geliştiricileri için uygundur.
Criteria API mi JPQL mi tercih edilmeli?
Sabit sorgularda okunabilirlik için JPQL, çok koşullu dinamik filtrelerde Criteria uygundur; eğitimde aynı sorgu iki yöntemle yazılarak karşılaştırılır.
Veritabanı olarak ne kullanılır?
PostgreSQL veya H2 üzerinde çalışılır; EXPLAIN uygulamaları için PostgreSQL önerilir.
Eğitim için hangi ön bilgi ve ortam gerekir?
Nesne yönelimli Java ve JDBC'ye giriş düzeyinde bilgi beklenir. SELECT, JOIN, GROUP BY ve ilişkisel tablo tasarımı kavramlarına aşinalık gerekir. H2, PostgreSQL veya MySQL gibi yerel bir veritabanı kurulumu yapılabilmelidir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. 2 günlük program boyunca uygulama çalışmalarının tamamlanması beklenir.

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. Advanced Querying in Java Hibernate Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava: Getting Started with Reflection Eğitimi
Yazılım Geliştirme Eğitimleri

Java: Getting Started with Reflection Eğitimi

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

Java reflection girişi eğitimi: Class nesnesi, sınıf meta verisi, Modifier, ClassLoader, nesne oluşturma ve framework örnekleri. 2 gün uygulamalı.

Detayları Gör →
Java ve JVMJava: Leveraging Reflection to Build Dynamic Proxies & Unit Tests Eğitimi
Yazılım Geliştirme Eğitimleri

Java: Leveraging Reflection to Build Dynamic Proxies & Unit Tests Eğitimi

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

Java reflection ile dinamik proxy ve birim test araçları eğitimi: InvocationHandler, AOP benzeri ilgiler, mock üretimi ve mini test çerçevesi. 2 gün, DVA sertif

Detayları Gör →
Java ve JVMJava: Object-Oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Java: Object-Oriented Programming Eğitimi

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

Java nesne yönelimli programlama eğitimi: kapsülleme, kalıtım, polimorfizm, soyut sınıf, arayüz, nesne ilişkileri ve UML ile domain uygulaması. 2 gün, DVA serti

Detayları Gör →
Java ve JVMJava: Working with Annotations, Generics, & Arrays Using Reflection Eğitimi
Yazılım Geliştirme Eğitimleri

Java: Working with Annotations, Generics, & Arrays Using Reflection Eğitimi

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

Java reflection ile anotasyon, generics ve diziler eğitimi: özel anotasyon, Type API, TypeToken, Array sınıfı ve doğrulama çerçevesi. 2 gün uygulamalı, DVA sert

Detayları Gör →
Java ve JVMJDBC: An Introduction to Java Database Connectivity Eğitimi
Yazılım Geliştirme Eğitimleri

JDBC: An Introduction to Java Database Connectivity Eğitimi

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

JDBC eğitimi: bağlantı, Statement ve PreparedStatement, ResultSet, transaction, batch, SQL injection önleme ve DAO ile müşteri CRUD uygulaması. 2 gün, DVA serti

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