JAVA PERSISTENCE API: MAPPING & CONFIGURING RELATIONSHIPS EĞİTİMİ

JPA ilişkilerini doğru kurun

@OneToOne, @OneToMany, @ManyToOne, @ManyToMany, mappedBy, @JoinColumn, @JoinTable, fetch ve cascade.

Eğitim JPA'da ilişki eşlemenin tüm biçimlerini işler: @OneToOne (paylaşılan anahtar, @MapsId), @ManyToOne/@OneToMany, @ManyToMany ve ek kolonlu join entity, ilişkinin sahibi (owning side) ve mappedBy, @JoinColumn ve @JoinTable ayarları, tek ve çift yönlü iliş…

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

Eğitim Hakkında

Tek yönlü ve çift yönlü ilişki tasarımı

Eğitim JPA'da ilişki eşlemenin tüm biçimlerini işler: @OneToOne (paylaşılan anahtar, @MapsId), @ManyToOne/@OneToMany, @ManyToMany ve ek kolonlu join entity, ilişkinin sahibi (owning side) ve mappedBy, @JoinColumn ve @JoinTable ayarları, tek ve çift yönlü ilişkiler, ilişki senkronizasyon yardımcı metotları, fetch stratejileri, cascade, N+1 ve sık yapılan eşleme hataları.

Süre ve Format

2 Gün. Her gün dört modül; Bire-Bir ve Bire-Çok İlişkiler; Çoka-Çok ve İleri Eşleme ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — JPA ilişki eşleme: OneToOne, OneToMany, ManyToMany, mappedBy, JoinColumn, JoinTable, fetch ve çift yönlü tasarım

Öğrenme Metodu

Okul, öğrenci, ders ve adres modeli kurulur; her ilişki türü için ürettiği DDL ve SQL incelenir ve yaygın hatalar bilerek yapılıp düzeltilir.

Neden Bu Eğitim?

🕸️Model hakimiyeti

İlişki türlerini veri modeline uygun doğru yönde eşlersiniz.

🔁Çift yön tutarlılığı

Her iki tarafın senkron kalmasını sağlayan kalıplar uygularsınız.

📉Performans farkındalığı

Eşleme seçimlerinin SQL sayısına etkisini görürsünüz.

Anahtar Konular

jpa ilişkileronetomany manytoonemanytomany jpamappedbyjoincolumn jointablejpa ilişki eşlemehibernate ilişkilerjpa çift yönlü ilişki
“Veri modeli doğru kurulduğunda, geri kalan kod çoğunlukla kendiliğinden sadeleşir.”

Ön Koşullar

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

1
JPA temelleri

Entity eşleme ve EntityManager.

2
SQL

Foreign key, join tablosu kavramı.

3
Java koleksiyonları

List, Set kullanımı.

4
Ortam

JDK 17, Hibernate ve PostgreSQL/H2.

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 hedefiTemel ilişkiler
Modül 1
@ManyToOne ve @OneToMany
  • En sık kullanılan ManyToOne ilişkisi
  • @JoinColumn: name, nullable, foreignKey
  • Tek yönlü OneToMany ve ek join tablosu sorunu
  • Çift yönlü ilişki ve mappedBy
  • Owning side kavramı
  • Yaygın hata: mappedBy eksikliği
Modül 2
@OneToOne
  • Foreign key ile OneToOne
  • @MapsId ile paylaşılan birincil anahtar
  • Lazy OneToOne sınırlamaları
  • Çift yönlü OneToOne tuzağı
  • Birincil anahtar paylaşımlı tasarım
  • Ne zaman tabloyu ayırma
Modül 3
Senkronizasyon
  • addChild/removeChild yardımcı metotları
  • Her iki tarafın tutarlılığı
  • equals/hashCode ile Set kullanımı
  • toString ve sonsuz döngü riski
  • JSON serileştirmede sonsuz özyineleme
  • DTO ile ilişkiyi kesme
Modül 4
Fetch ve Cascade
  • LAZY / EAGER varsayılanları
  • Cascade ve orphanRemoval
  • N+1 sorunu ve join fetch
  • EntityGraph ile yükleme
  • Proxy ve LazyInitializationException
  • SQL logu analizi
Günün hedefiİleri
Modül 1
@ManyToMany
  • @JoinTable: joinColumns, inverseJoinColumns
  • Sahip ve ters taraf
  • List yerine Set kullanımı
  • Silme ve yeniden ekleme sorunu
  • ManyToMany üzerinde cascade REMOVE tehlikesi
  • Hibernate SQL davranışı
Modül 2
Join Entity
  • Ek kolonlu ilişki (tarih, not)
  • @EmbeddedId ile kompozit anahtar
  • İki ManyToOne ile ilişki sınıfı
  • @MapsId ile anahtar kolon eşleme
  • Sorgulama kolaylığı
  • ManyToMany yerine tercih nedenleri
Modül 3
Kalıtım ve İlişki
  • Kalıtımlı entity'lerde ilişki
  • Polimorfik ilişki
  • @MappedSuperclass ortak alanlar
  • ElementCollection ile karşılaştırma
  • Self-reference (ağaç yapısı)
  • Adjacency list modeli
Modül 4
Tasarım Uygulaması
  • Okul modeli: Öğrenci-Ders-Kayıt
  • Şema ve DDL gözden geçirme
  • Sık yapılan 10 eşleme hatası
  • Test ve veri doğrulama
  • Kod incelemesi
  • Özet ve sorular

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
İlişki türleri

Bire-bir, bire-çok ve çoka-çok ilişkileri eşleyebilirsiniz.

🎯
Owning side

İlişkinin sahip tarafını ve mappedBy kullanımını açıklayabilirsiniz.

🧩
JoinColumn/JoinTable

Kolon ve tablo adlarını özelleştirebilirsiniz.

⚙️
Join entity

Ek kolonlu ilişkileri ayrı entity ile modelleyebilirsiniz.

🔍
Senkronizasyon

Çift yönlü ilişkiyi yardımcı metotlarla tutarlı tutabilirsiniz.

🛠️
Fetch ayarı

Lazy ve eager farkını yönetip N+1'i önleyebilirsiniz.

📈
Cascade

Cascade ve orphanRemoval seçimini gerekçelendirebilirsiniz.

🚀
Hata çözümü

Sık yapılan ilişki eşleme hatalarını tanıyıp düzeltebilirsiniz.

Kimler İçin Uygundur?

  • JPA temelleri olan
  • gerçekçi ilişkili veri modellerini kurmak isteyen Java geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
JPA temelleri olan ve gerçekçi ilişkili veri modellerini kurmak isteyen Java geliştiricileri için uygundur.
Eğitime katılmak için hangi ön bilgiler gerekir?
JPA temelleri: Entity eşleme ve EntityManager. SQL: Foreign key, join tablosu kavramı.
Eğitim nasıl ilerler ve kaç gün sürer?
Eğitim 2 gün sürer; her gün dört modülden oluşur ve her modülde anlatım ile uygulamalı çalışma birlikte yürür. Günler sırasıyla: Bire-Bir ve Bire-Çok İlişkiler; Çoka-Çok ve İleri Eşleme.
Eğitim sonunda sertifika verilir mi?
Evet, katılım ve başarı koşullarını sağlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
mappedBy neden gereklidir?
mappedBy ilişkinin sahibi olmayan tarafı belirtir; yoksa Hibernate gereksiz bir join tablosu oluşturabilir. Eğitimde bu durum DDL çıktısıyla gösterilir.

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. Java Persistence API: Mapping & Configuring Relationships Eğ 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 SE Programmer II: Functional Programming in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Functional Programming in Java Eğitimi

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

Java SE Programmer II fonksiyonel programlama eğitimi: lambda, java.util.function, metot referansı, fonksiyon bileşimi, değişmezlik ve Optional. 2 gün, DVA sert

Detayları Gör →
Java ve JVMJava SE Programmer II: Fundamental Language Enhancements Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Fundamental Language Enhancements Eğitimi

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

Java SE Programmer II temel dil geliştirmeleri eğitimi: var, switch ifadesi, text block, records, sealed ve pattern matching. 2 gün uygulamalı, DVA sertifikası.

Detayları Gör →
Java ve JVMJava SE Programmer II: Fundamentals Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Fundamentals Eğitimi

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

Java SE Programmer II temelleri eğitimi: OOP, istisna, generics, Collections, lambda, Stream, NIO.2, JDBC ve concurrency girişi. 2 gün uygulamalı, DVA sertifika

Detayları Gör →
Java ve JVMJava SE Programmer II: Generics & Collections in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Generics & Collections in Java Eğitimi

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

Java SE Programmer II generics ve Collections eğitimi: wildcard PECS, type erasure, HashMap iç yapısı, Comparator ve koleksiyon seçimi. 2 gün uygulamalı, DVA se

Detayları Gör →
Java ve JVMJava SE Programmer II: Implementing NIO Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Implementing NIO Eğitimi

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

Java SE Programmer II NIO eğitimi: ByteBuffer, FileChannel, memory-mapped dosya, Selector ile non-blocking soket ve asenkron kanallar. 2 gün uygulamalı, DVA ser

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