JAVA-JPA2
Advanced JPA
Trainer recommendation

Viczián István trainer
Our Java portfolio is designed to cater to both beginner and experienced programmers, covering all areas of Java development—from Java SE to Java EE standards and the Spring Framework. Our training courses are hands-on and case-study-oriented, meaning we always start with a real-world problem and work toward finding the best solution. In most cases, we follow a complete development project where new requirements continuously emerge. Our training programs evolve based on participant feedback, unique requirements, and the release of new versions of tools.
Description
The Advanced JPA training introduces advanced JPA concepts such as lazy/eager fetch, entity graph, cascade operations, transaction handling, bulk operations, lock, cache. It also covers best practices and performance tuning. The course also mentions the similarities and differences between different implementations (e.g. EclipseLink, Hibernate) and describes the different fine-tuning options per implementation. Maven based projects present the functionality of different JPA providers with a persistent layer covered by integration tests. The problems encountered when writing integration tests and alternative solutions to them will be presented, with their advantages and disadvantages. Projects can be opened and run in any development tool (IntelliJ IDEA, EclipseLink, NetBeans).
Outline
- Overview
- JPA versions
- Complicated connections, lazy, eager fetch
- Entity graph
- Cascade operations
- Detach, merge
- Transaction handling, persistence context
- Flush
- Bulk operations
- Query hints
- Refresh
- Lock
- First level and shared cache
- Native queries
- Best practices
Prerequisites
The Advanced JPA training is for people who have been actively using JPA for at least half a year and are familiar with concepts such as DataSource, Entity, Persistence unit, Persistence context, Entity manager, JPQL, etc. The prerequisite for the training is an intermediate level of Java knowledge (collections, generics, annotations, etc.).
Prerequisite: completion of the Persistence, Database Programming with JDBC and JPA technologies (JAVA-JPA) course or practical knowledge of the material covered in that course.
The training is in Hungarian, based on a presentation in Hungarian.