Person trykker på datamaskin

High-Performance Java Persistence

The High-Performance Java Persistence training is aimed to level up your data access skills, covering JDBC, Hibernate, and many database essential topics for Oracle, SQL Server, MySQL or PostgreSQL.

Agenda

Introduction

• O/R Mismatch
• JPA vs. Hibernate
• Logging SQL Statements
• Schema Management
• Integration Testing with Docker

Types and Identifiers

• JPA and Hibernate Types
• Custom Hibernate Types
• The hibernate-types project
• JPA and Hibernate Identifiers
• Hibernate Identifier Optimizers (e.g. hilo, pooled, pooled-lo)

Connection Management

• Connection Management and Hibernate Connection Providers
• Hibernate Connection Lifecycle
• Connection Monitoring
• Hibernate Statistics

Relationships

• JPA and Hibernate Relationships
• Equals and Hashcode
• ManyToOne
• OneToMany
• OneToOne
• ManyToMany

Inheritance

• JPA Inheritance Basics
• Single Table Inheritance
• Discriminator Column
• Joined Inheritance
• TablePerClass Inheritance

Batching and Statement Caching

• Statement Lifecycle and Execution Plans
• Statement Caching
• Statement Batching and Cascade Operations
• Batching Update Operations
• SQL Injection

Persistence Context

• Persistence Context and Flushing Basics
• Action Queue
• The AUTO FlushModeType
• Dirty Checking Mechanism
• Bytecode Enhancement Dirty Checking

Fetching

• Direct and Natural id fetching
• DTO projections vs Entity queries
• LAZY vs. EAGER
• Query-time fetching
• Pagination queries

Transactions and Concurrency Control

• ACID
• Phenomena
• Dirty Write,
• Dirty Read,
• Non-Repeatable Read,
• Phantom Read,
• Read Skew,
• Write Skew,
• Lost Updates
• 2PL (Two-Phase Locking)
• MVCC (Multi-Version Concurrency Control)
• Isolation levels and database concurrency control
• Logical vs. physical clock optimistic locking:
• OPTIMISTIC,
• OPTIMISTIC FORCE INCREMENT,
• PESSIMISTIC FORCE INCREMENT,
• PESSIMISTIC READ,
• PESSIMISTIC WRITE
• Versionless optimistic locking
• JPA physical and optimistic lock types
• Skip locked and queuing access
• Preventing lost updates in long conversations

Database, Application and Hibernate Caching

• Database caching
• Application-level caching
• Second-level caching
• Cache synchronization strategies
• Cache concurrency strategies
• READ ONLY,
• NONSTRICT READ WRITE,
• READ WRITE,
• TRANSACTIONAL
• Collection Cache
• Query Cache

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Henrik Buzzi

Henrik Buzzi

Produktansvarlig

henrik.buzzi@bouvet.no

+47 93808080