ADVANCED HIBERNATE EĞİTİMİ

Hibernate performansını ve eşlemesini ustalıkla yönet

İleri eşleme, N+1 çözümü, birinci/ikinci seviye önbellek, optimistic locking, batch işlem ve Envers denetimi.

Advanced Hibernate eğitimi 2 günlük uygulamalı programda kalıtım eşlemesi, değer tipleri, i̇lişkiler ve cascade, persistence context gibi konuları kapsar. Kalıtım, embeddable ve koleksiyon eşlemelerini doğru stratejiyle kurabilirsiniz.

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

Eğitim Hakkında

İleri eşleme, önbellek, performans ve eşzamanlılık

Bu eğitim, Hibernate ORM ile üretim kalitesinde uygulama geliştirenlere yöneliktir. Kalıtım stratejileri (SINGLE_TABLE, JOINED, TABLE_PER_CLASS), @Embeddable, @ElementCollection ve özel tip eşleme, ilişki yönetimi ve cascade/orphanRemoval, LAZY/EAGER ve N+1 sorun çözümü (fetch join, EntityGraph, @BatchSize), JDBC batch ve StatelessSession ele alınır. Ayrıca persistence context yaşam döngüsü, birinci ve ikinci seviye önbellek (Ehcache/Caffeine), @Version ile optimistic locking, pessimistic lock, Hibernate Envers ile denetim ve çok kiracılı (multi-tenant) mimari işlenir.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar i̇leri eşleme ve yaşam döngüsü konusundan başlayıp performans ve önbellek konusuyla tamamlar.

Seviye

İleri Seviye — Hibernate ORM ileri düzey eşleme, önbellekleme, performans ayarı, eşzamanlılık ve çok kiracılı mimari.

Öğrenme Metodu

H2/PostgreSQL üzerinde SQL loglarıyla çalışılır; her performans problemi önce üretilir, sonra Hibernate istatistikleriyle ölçülüp çözülür.

Neden Bu Eğitim?

🐢N+1 Çözümü

SQL logları ve istatistiklerle yavaş sorguları teşhis edip giderirsiniz.

🗄️Önbellek

İkinci seviye önbelleği doğru bölgelerle yapılandırırsınız.

🔒Eşzamanlılık

Optimistic ve pessimistic locking ile veri bütünlüğünü korursunuz.

Anahtar Konular

hibernate ileri seviyehibernate n+1hibernate second level cachehibernate optimistic lockingjpa performanshibernate envershibernate batchhibernate fetch joinhibernate kalıtım eşlemehibernate eğitimi
“ORM'i ustaca kullanan, SQL'i de bilendir.”

Ö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 alan modellerini doğru Hibernate eşlemeleriyle kurar ve entity durumlarını yönetir.
Modül 1
Kalıtım Eşlemesi
  • SINGLE_TABLE ve discriminator sütunu
  • JOINED stratejisi ve join maliyeti
  • TABLE_PER_CLASS ve union sorguları
  • @MappedSuperclass ile ortak alanlar
  • Polimorfik sorgular ve performans etkisi
  • Strateji seçim kriterleri
Modül 2
Değer Tipleri
  • @Embeddable ve @Embedded
  • @AttributeOverride ile alan adı çakışmaları
  • @ElementCollection ve koleksiyon tablosu
  • AttributeConverter ile özel tip dönüşümü
  • @Enumerated ve @Convert ile enum yönetimi
  • @Formula ve @Generated hesaplanan alanlar
Modül 3
İlişkiler ve Cascade
  • @OneToMany, @ManyToOne çift yönlü ilişki
  • mappedBy ve ilişki sahibi taraf
  • CascadeType.PERSIST, MERGE, REMOVE
  • orphanRemoval davranışı
  • @ManyToMany ve ara tablo yönetimi
  • equals/hashCode ve entity kimliği tuzakları
Modül 4
Persistence Context
  • Entity durumları: transient, managed, detached, removed
  • persist, merge, remove, refresh farkları
  • Dirty checking ve flush modları
  • Session.evict ve clear
  • LazyInitializationException ve Open Session in View
  • Transaction sınırları ve @Transactional
Günün hedefiKatılımcı, Hibernate performans sorunlarını teşhis eder ve önbellek ile batch teknikleriyle çözer.
Modül 1
Fetch Stratejileri
  • LAZY ve EAGER varsayılanları
  • N+1 select problemi üretme ve tespit
  • JOIN FETCH ile tek sorguda yükleme
  • EntityGraph ve fetchgraph/loadgraph
  • @BatchSize ve @Fetch(SUBSELECT)
  • DTO projeksiyonu ve sadece gereken sütunlar
Modül 2
Toplu İşlemler
  • hibernate.jdbc.batch_size ayarı
  • Sıralı insert/update (order_inserts)
  • IDENTITY id üreticisinin batch'i bozması
  • StatelessSession ile toplu yükleme
  • Bulk HQL update/delete ve cache etkisi
  • Büyük sonuç kümelerinde ScrollableResults
Modül 3
Önbellekleme
  • Birinci seviye önbellek (Session) davranışı
  • İkinci seviye önbellek: @Cache ve region
  • Ehcache veya Caffeine entegrasyonu
  • Sorgu önbelleği (query cache) ve geçersiz kılma
  • Önbellek eşzamanlılık stratejileri: READ_ONLY, READ_WRITE
  • Hibernate Statistics ile hit/miss oranı
Modül 4
Eşzamanlılık ve Denetim
  • @Version ile optimistic locking
  • OptimisticLockException yönetimi ve yeniden deneme
  • LockModeType.PESSIMISTIC_WRITE ve SELECT FOR UPDATE
  • Deadlock ve kilit zaman aşımı
  • Hibernate Envers ile @Audited denetim tabloları
  • Multi-tenant yaklaşımları: şema ve discriminator

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
İleri Eşleme

Kalıtım, embeddable ve koleksiyon eşlemelerini doğru stratejiyle kurabilirsiniz.

🧠
İlişki Yönetimi

Cascade ve orphanRemoval davranışlarını bilinçli kullanabilirsiniz.

⚙️
Yaşam Döngüsü

Entity durumlarını ve flush davranışını açıklayıp hatalarını ayıklayabilirsiniz.

🔍
N+1 Çözümü

N+1 sorunlarını fetch join, EntityGraph ve BatchSize ile giderebilirsiniz.

🛠️
Toplu İşlem

JDBC batch ve StatelessSession ile yüksek hacimli veri yükleyebilirsiniz.

📈
Önbellek Kurulumu

İkinci seviye ve sorgu önbelleğini yapılandırıp ölçebilirsiniz.

🧩
Kilit Yönetimi

@Version ile optimistic, SELECT FOR UPDATE ile pessimistic kilit uygulayabilirsiniz.

🚀
Denetim Kaydı

Envers ile entity değişiklik geçmişini tutabilirsiniz.

Kimler İçin Uygundur?

  • Hibernate/JPA ile temel CRUD yapmış
  • performans
  • ileri eşleme konularında uzmanlaşmak isteyen Java backend geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Hibernate/JPA ile temel CRUD yapmış, performans ve ileri eşleme konularında uzmanlaşmak isteyen Java backend geliştiricileri için uygundur.
N+1 problemi eğitimde nasıl ele alınır?
Önce SQL loglarında N+1 üretilir, sonra fetch join, EntityGraph ve BatchSize ile çözülür; Hibernate Statistics ile sorgu sayısı öncesi/sonrası karşılaştırılır.
Hibernate sürümü olarak hangisi kullanılır?
Örnekler Hibernate 6 ve Jakarta Persistence üzerinde yapılır; sürüm farkları gerektiğinde ayrıca belirtilir.
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 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

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn