Spring Data JPA
placeAmsterdam 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Amsterdam, Dag 1 event 3 februari 2026, 09:30-16:30, Amsterdam, Dag 2 event 4 februari 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Eindhoven, Dag 1 event 3 februari 2026, 09:30-16:30, Eindhoven, Dag 2 event 4 februari 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Houten, Dag 1 event 3 februari 2026, 09:30-16:30, Houten, Dag 2 event 4 februari 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Online, Dag 1 event 3 februari 2026, 09:30-16:30, Online, Dag 2 event 4 februari 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Rotterdam, Dag 1 event 3 februari 2026, 09:30-16:30, Rotterdam, Dag 2 event 4 februari 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 2 feb. 2026 tot 4 feb. 2026Toon rooster event 2 februari 2026, 09:30-16:30, Zwolle, Dag 1 event 3 februari 2026, 09:30-16:30, Zwolle, Dag 2 event 4 februari 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Amsterdam, Dag 1 event 7 april 2026, 09:30-16:30, Amsterdam, Dag 2 event 8 april 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Eindhoven, Dag 1 event 7 april 2026, 09:30-16:30, Eindhoven, Dag 2 event 8 april 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Houten, Dag 1 event 7 april 2026, 09:30-16:30, Houten, Dag 2 event 8 april 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Online, Dag 1 event 7 april 2026, 09:30-16:30, Online, Dag 2 event 8 april 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Rotterdam, Dag 1 event 7 april 2026, 09:30-16:30, Rotterdam, Dag 2 event 8 april 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 6 apr. 2026 tot 8 apr. 2026Toon rooster event 6 april 2026, 09:30-16:30, Zwolle, Dag 1 event 7 april 2026, 09:30-16:30, Zwolle, Dag 2 event 8 april 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Amsterdam, Dag 1 event 9 juni 2026, 09:30-16:30, Amsterdam, Dag 2 event 10 juni 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Eindhoven, Dag 1 event 9 juni 2026, 09:30-16:30, Eindhoven, Dag 2 event 10 juni 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Houten, Dag 1 event 9 juni 2026, 09:30-16:30, Houten, Dag 2 event 10 juni 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Online, Dag 1 event 9 juni 2026, 09:30-16:30, Online, Dag 2 event 10 juni 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Rotterdam, Dag 1 event 9 juni 2026, 09:30-16:30, Rotterdam, Dag 2 event 10 juni 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 8 jun. 2026 tot 10 jun. 2026Toon rooster event 8 juni 2026, 09:30-16:30, Zwolle, Dag 1 event 9 juni 2026, 09:30-16:30, Zwolle, Dag 2 event 10 juni 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 3 aug. 2026 tot 5 aug. 2026Toon rooster event 3 augustus 2026, 09:30-16:30, Amsterdam, Dag 1 event 4 augustus 2026, 09:30-16:30, Amsterdam, Dag 2 event 5 augustus 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 3 aug. 2026 tot 5 aug. 2026Toon rooster event 3 augustus 2026, 09:30-16:30, Eindhoven, Dag 1 event 4 augustus 2026, 09:30-16:30, Eindhoven, Dag 2 event 5 augustus 2026, 09:30-16:30, Eindhoven, Dag 3 |
Persistence Intro
The course begins with an introduction to Java Persistence. Topics include JDBC, SQL, drivers, database configuration, and Object Relational Mapping. It dives into the Java Persistence API (JPA), use of the Entity Manager, Persistence Units, and mapping entities.
Spring Data JPA
This module introduces participants to Spring Data and Spring Data JPA. It covers configuration using property files, mapping tables and columns, and using primary keys. Key annotations like @Id and @G…

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Persistence Intro
The course begins with an introduction to Java Persistence. Topics include JDBC, SQL, drivers, database configuration, and Object Relational Mapping. It dives into the Java Persistence API (JPA), use of the Entity Manager, Persistence Units, and mapping entities.
Spring Data JPA
This module introduces participants to Spring Data and Spring Data JPA. It covers configuration using property files, mapping tables and columns, and using primary keys. Key annotations like @Id and @GeneratedValue are introduced along with defining entity relationships such as One-to-One, One-to-Many, Many-to-One, and Many-to-Many.
CRUD Operations
This module focuses on implementing CRUD operations using JpaRepository and CrudRepository. Topics include Cascade Types, fetch strategies (EAGER vs LAZY), transaction behavior with @Transactional, and using the PagingAndSortingRepository.
Querying Data
Participants learn how to query data using method naming conventions like findBy and countBy. Both JPQL and native queries are covered. The module also includes the use of @Query and @Modifying annotations and building custom queries.
Entity Lifecycle
This module focuses on understanding the entity lifecycle in JPA. It covers save and delete methods, annotations such as @PrePersist and @PostLoad, flush modes, caching, transaction management, and optimistic locking using the @Version annotation.
Pagination and Sorting
Participants learn how to implement pagination and sorting using Page, Slice, and PageRequest interfaces. Sorting entities by specific attributes is also covered, along with using DTO projections (open, closed, and class-based).
Caching
This module covers caching strategies with JPA and Spring Cache. It explains the use of the @Cacheable annotation, cache configuration, optimizing fetch strategies using @BatchSize and @EntityGraph, and storing query results efficiently.
Transactions
Both declarative and programmatic transaction management are covered, including how to roll back transactions using the rollBackFor attribute.
Advanced Topics
The final module covers advanced topics such as domain events, event publishers and listeners.
Audience Course Spring Data JPA
The course Spring Data JPA is intended for Java and Spring Boot developers who want to access relational databases from Spring Boot applications.
Prerequisites course Spring Data JPA
Thorough knowledge of Java and SQL and basic knowledge of Spring and Spring Boot. Experience with JPA and Hibernate is beneficial for understanding.
Realization Spring Data JPA Training
Demo sessions led by the trainer are alternated with presentations and practical exercises.
Certificate Spring Data JPA
After successfully completing the course, attendants will receive a certificate of participation in Spring Data JPA.
Modules
Module 1: Persistence Intro
- Java Persistence
- JDBC and SQL
- Drivers and URL's
- Database Configuration
- Object Relational Mapping
- Java Persistence API
- Entity Manager
- Persistence Units
- Mapping Entities
- JPA Implementations
- Eclipse Link and Hibernate
Module 2: Spring Data JPA
- What is Spring Data?
- Spring Data JPA
- Property Files
- Tables and Columns
- Primary Keys
- Auto Generation Strategies
- @Id and @GeneratedValue
- Persistence Context
- Defining Relationships
- One-to-One and One-to-Many
- Many-to-One and Many-to-Many
Module 3: CRUD Operations
- Implementing CRUD Operations
- @EnableJpaRepositories
- JpaRepository
- Cascade Types
- Fetch Strategies
- EAGER versus LAZY
- CrudRepository
- Transaction Management
- @Transactional Annotation
- @Transactional Attributes
- PagingAndSortingRepository
Module 4: Querying Data
- Query Methods
- Method Naming Conventions
- Derived Query Methods
- findBy and countBy
- Java Persistence Query Language
- JPQL Queries
- @Query Annotation
- @Modifying Annotation
- Equality Conditions
- Custom Queries
- Native Queries
Module 5: Entity Lifecycle
- Understanding Entity Lifecycle
- Save Methods
- Delete Methods
- @PrePersist Annotation
- @PostLoad Annotation
- Flush Modes
- Caching
- Second Level Cache
- Managing Transactions
- Optimistic Locking
- @Version Annotation
Module 6: Pagination and Sorting
- Implementing Pagination
- Pageable and Sort
- Paginating All Entities
- Page and Slice Interface
- PageRequest Class
- Sorting All Entities
- Sort Order
- Typed Sort
- Returning DTO Projections
- Open and Closed Projections
- Class Based Projections
Module 7: Caching
- Spring Cache with JPA
- @Cacheable Annotation
- First Level Cache
- Second Level Cache
- Cache Configuration
- Storing Results
- Fetch Strategies
- Using @BatchSize
- @EntityGraph Annotation
- Optimizing Fetch Queries
Module 8: Transactions
- ACID Properties
- Transaction Properties
- Transaction Propagation
- Transaction Management
- Injecting Transaction Manager
- @EnableTransactionManagement
- Declarative Transactions
- Programmatic Transactions
- Rolling Back Transactions
- rollBackFor Attribute
Module 9: Advanced Topics
- Domain Events
- Event Publishers
- Event Listeners
- @DomainEvents Annotation
- Auditing in Spring Data JPA
- @EnableJpaAuditing Annotation
- AuditingEntityListener
- Entity Graphs
- @EntityGraph Annotation
- @NamedEntityGraph Annotation
Waarom SpiralTrain
SpiralTrain is specialist op het gebied van software development trainingen. Wie bieden zowel trainingen aan voor beginnende programmeurs die zich de basis van talen en tools eigen willen maken als ook trainingen voor ervaren software professionals die zich willen bekwamen in de nieuwste versie van een taal of een framework.
Onze trainingkenmerken zich door :
• Klassikale of online open roostertrainingen en andere
trainingsvormen
• Eenduidige en scherpe cursusprijzen, zonder extra kosten
• Veel trainingen met een doorlopende case study
• Trainingen die gericht zijn op certificering
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

