Descriere & avantaje curs
Cui se adresează cursul?
Dorești sa accesezi „data acces layer” la viteze super mari?
1. Informații esențiale baza de date
Știți cum funcționează un sistem de baze de date relaționale în culise?
2. JDBC
Știți cum execută instrucțiunile driverului JDBC și cum le puteți configura pentru a spori performanța aplicației?
3. JPA & Hibernate
Adăugarea adnotărilor JPA și Hibernate este destul de ușoară. Dar, știți implicațiile de performanță ale fiecărei caracteristici JPA sau Hibernate pe care aplicația dvs. o folosește intens?
Cursul „High-Performance Java Persistence” are ca scop îmbunătățirea abilităților de acces date ale echipei dvs., acoperind subiecte ca: JDBC, Hibernate și multe alte topicuri esențiale pentru baze de date pentru Oracle, SQL Server, MySQL sau PostgreSQL.
Dacă dorești răspunsuri la toate aceste întrebări, atunci, acest curs este special gândit pentru tine.
Avantajele tale, profită acum!
Număr ideal de cursanți în grupa pentru eficienta și performanta maxima.
Acces non-stop online la toate materialele cursului.
Punem accent pe sistemul de învățare prin exercițiu. Vom căuta să învățam să găsim singuri rezolvări la probleme folosind tehnici utilizare în „real-world”.
Preț corect, adaptat condițiilor economice actuale și bineînțeles calității informațiilor pe care le vei primi.
Programul cursului
Introducere (durata: 1h 45m )
- O/R Mismatch
- JPA vs. Hibernate
- Logging SQL Statements
- Schema Management
- Integration Testing with Docker
Connection Management (durata: 1h 45m )
- Connection Management and Hibernate Connection Providers
- Hibernate Connection Lifecycle
- Connection Monitoring
- Hibernate Statistics
Types and Identifiers (durata: 1h 45m )
- JPA and Hibernate Types
- Custom Hibernate Types
- The hibernate-types project
- JPA and Hibernate Identifiers
- Hibernate Identifier Optimizers (e.g. hilo, pooled, pooled-lo)
Relationships (durata: 1h 45m )
- JPA and Hibernate Relationships
- Equals and Hashcode
- ManyToOne
- OneToMany
- OneToOne
- ManyToMany
Inheritance (durata: 1h 45m )
- JPA Inheritance Basics
- Single Table Inheritance
- Discriminator Column
- Joined Inheritance
- TablePerClass Inheritance
Persistence Context (durata: 1h 45m )
- Persistence Context and Flushing Basics
- Action Queue
- The AUTO FlushModeType
- Dirty Checking Mechanism
- Bytecode Enhancement Dirty Checking
Batching and Statement Caching (durata: 1h 45m )
- Statement Lifecycle and Execution Plans
- Statement Caching
- Statement Batching and Cascade Operations
- Batching Update Operations
- SQL Injection
Fetching (durata: 1h 45m )
- Direct and Natural id fetching
- DTO projections vs Entity queries
- LAZY vs. EAGER
- Query-time fetching
- Pagination queries
Transactions and Concurrency Control (durata: 3h 30m )
- 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 (durata: 3h 30m )
- 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
Traineri & Mentori
Vlad Mihalcea
Software Engineer
Java Champion & Top contributor to the Hibernate project
Review-uri absolvenții
As Java developers, we all use JPA and inherently Hibernate at one point in time in our projects. Sometimes it happens that some of us just use and abuse this technology.
The presentation has the right topics, order and proper information to get the beginners and the “lost” intermediate user on the right track. You are a senior, and you wonder if it’s the right thing for you? Well, you can get under the hood and understand the underlying mechanisms and implementations used throughout the framework. Moreover, you will learn about advanced topics like caching, locking mechanisms and concurrency control.
I strongly believe that this is a great all-around training when it comes to ORM concepts.
Every time I had heard that some app needs to be fast, I would have run away from Hibernate. Well, not anymore! After attending Vlad’s High-Performance Java Persistence course, I changed my mind.
It was well structured, focused on performance and day-to-day usage. There were lots of details and small things that can really make a huge difference.
Everything was backed up by code examples. Vlad is a smart guy with lots of patience, and he’s passionate about technology.
Learn the power of Hibernate! Use it properly!
I actually feel that I had a great opportunity to have Vlad and his experience on-premise for an intensive training (covered with clear examples and explanations) of what Java Persistence is now.
A couple of years ago was, it was simple, few tables and hundred thousand rows. Now persistence metrics (counts) are represented with 10^6+.
The training provided and following Vlad’s blog is truly a gold vein in our mining activity of providing effective, efficient, and maintainable applications.
I’ve been using Hibernate for over 8 years in various projects, and I was thinking „what’s more to learn about it?”. Well, it turns out I was wrong. I’ve learned a lot after attending Vlad’s training.
It was a very educative and enlightening course, backed up by a lot of code samples, answered questions, do’s and don’ts in the Hibernate world. There’s a huge difference between using Hibernate and using it right.