JPA Hibernate ile Java Persistence Eğitimi
What you'll learn
- JPA ve Hibernate konfigürasyonunu
- Çalışma zamanında üretilen SQL ifadelerini loglamayı
- Entity sınıflarının yazılmasını
- Entity ve Embeddable sınıflar arasındaki farkları
- Primary key oluşturma yöntemlerini
- Hibernate ve JPA ile çalışırken transaction'ın önemini
- Date, Time ve Timestamp tipleri ile çalışmayı
- Enum tiplerle çalışmayı
- LOB tipleri eşleştirmeyi
- AttributeConverter ve UserType arayüzlerini kullanarak custom veri tipleri tanımlamayı
- Entity'ler ve bileşenler arasında farklı türde ilişkiler kurmayı
- Tek yönlü ve çift yönlü ilişkileri
- İlişkiyi yöneten tarafın ne demek olduğunu ve mappedBy'ın önemini
- Set, Bag, List ve Map kullanımını
- M:1, 1:M ve N:M ilişkilerin detaylarını
- Primary key ve foregin key üzerinden 1:1 ilişki kurmayı
- Parent - child ilişkileri
- İlişkilerin lazy ve eager yüklenmesini
- Farklı inheritance yöntemlerini
- Polymorphic ilişkileri
- Hibernate bootstrap sırasında DB'ye örnek veri yüklemeyi
- Entity nesnelere PK ile erişimi
- Entity nesneleri DB'de saklamayı ve üzerinde yapılan değişiklikleri DB'ye yansıtmayı
- Entity nesneleri DB'den silmeyi
- Hibernate'in çalışma zamanında topladığı istatistik bilgilerine erişmeyi
- Detached nesneleri, detached nesneleri tekrar attached hale getirmeyi
- Detached nesneler ve lazy hatasını
- Lazy hatasını önleme yollarını
- Hibernate'de prox kullanımını
- Transitive persistence ve cascade kabiliyetini
- Cascade ile mappedBy arasındaki ilişkiyi
- Contextual session kabilietini ve katmanlar arası iletişimi
- Eş zamanlı veri erişimi ve lost update problemini
- Version bilgisi ile eş zamanlı erişim yönetimini
- Hibernate Interceptor ve event mekanizmasını
- JPA life cycle callback metotlar oluşturmayı
- HQL ve JPQL sorguları yazmayı, çalıştırmayı
- Farklı JOIN türlerini
- Rapor sorgularını
- İsimlendirilmiş sorgu tanımlamayı ve kullanmayı
- Native SQL yazmayı ve çalıştırmayı
- Hibernate ve JPA'da Criteria API kullanımını
- JPA Criteria API'de metamodel kullanımını
- N+1 select probleminin ne olduğunu ve nasıl çözülebileceğini
- Fetch join, batch fetching, subselect fetching yöntemlerini
- Sorgularda paging yöntemini kullanmayı
- HQL ve JPA Criteria API ile toplu güncelleme ve silme yapmayı
- Hibernate ve JPA'da ikincil ön bellek kabiliyetini devreye almayı
- Entity, collection ve sorgu düzeyine ön bellek kabiliyetlerini
Requirements
- Java programlama dilinde deneyim
- Temel SQL bilgisi ve deneyimi
- Eclipse vb platformda uygulama geliştirme deneyimi
Description
Bu eğitimimizde JPA Hibernate teknolojilerini kullanarak veri erişim işlemlerini Java tabanlı olarak gerçekleştirmeyi öğreneceksiniz. Eğitimimiz object relational mapping çözümlerinin ne olduğunu, JPA/Hibernate'in bu resimde nerede yer aldığını vurgulamanın ardından, hem Hibernate hem de JPA üzerinden nasıl çalışılabileceğini, örneklerle uygulamalı biçimde sunmaktadır. Eğitim boyunca Hibernate'in en güncel sürümü üzerinden çalışmanın yanı sıra zaman içerisinde Hibernate sürümleri arasında ortaya çıkan farklardan da yeri geldiğince bahsediyoruz. Geliştirme ortamı olarak Java 8, Eclipse tabanlı Spring Tool Suite ve ilişkisel veritabanı olarak da açık kaynak kodlu Java tabanlı H2 veritabanı kullanıyoruz. Bu eğitim sonunda Java tabanlı kurumsal uygulamalarınızda ORM çözümlerini çok daha verimli ve doğru bir biçimde kullanacak seviyeye geleceğinize eminiz.
Who this course is for:
- Java teknolojileri ile kurumsal uygulama geliştirme yapan, projelerinde JPA/Hibernate gibi persistence teknolojilerini kullanan veya kullanmayı düşünen bütün yazılım geliştiricler bu kurstan yararlanabilirler.
Instructor
Java ile tanışıklığı 1998 yılına değin uzanan Kenan Sevindik, 20 yıla yakın bir süredir Java teknolojileri ile aktif biçimde çalışmaktadır. Bu nedenle sektördeki diğer eğitim kurumlarından ve eğitmenlerden farklı olarak gerçekten uzmanı olduğu konularda uzun tecrübeler sonucu edindiği bilgi birikimi ve deneyimi workshop tarzında eğitimler ile ITsektörümüze sunmakta, katılımcılara sadece tecrübe edilmiş, rafine ve projelerinde faydalanabilecekleri bilgiyi aktarmaktadır.
İlk çıktıkları dönemden bu yana Spring Application Framework, Spring (Acegi) Security Framework, Hibernate Persistence Framework gibi teknolojilerle aktif biçimde çalışmaktadır. Bu frameworklerle ilgili çok değişik çözümler geliştirmiş olup, edindiği
tecrübeleri ve çözümlerini değişik ortamlarda bu teknolojilerin kullanıcıları ile de paylaşmaktadır. Özellikle nesneye yönelik programlama, design patterns, aspect oriented programlama ve enterprise web uygulamalarında güvenlik konuları da uzun yıllardıryakından ilgilendiği konular arasındadır.
Kariyeri boyunca enteprise Java teknolojileri ile geliştirilen pek çok projenin hemen her safhasında görev almış olup, değişik kurum ve kuruluşlara koçluk, danışmanlık hizmetleri de vermektedir. Kenan Sevindik, Java teknolojileri ile ilgili olarak Java Programmer, Web Component Developer ve Business Component Developer, Vaadin UI Developer sertifikalarına sahiptir.