Java Data Access met JPA
placeAmsterdam 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Amsterdam, Dag 1 event 22 januari 2026, 09:30-16:30, Amsterdam, Dag 2 event 23 januari 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Eindhoven, Dag 1 event 22 januari 2026, 09:30-16:30, Eindhoven, Dag 2 event 23 januari 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Houten, Dag 1 event 22 januari 2026, 09:30-16:30, Houten, Dag 2 event 23 januari 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Online, Dag 1 event 22 januari 2026, 09:30-16:30, Online, Dag 2 event 23 januari 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Rotterdam, Dag 1 event 22 januari 2026, 09:30-16:30, Rotterdam, Dag 2 event 23 januari 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Zwolle, Dag 1 event 22 januari 2026, 09:30-16:30, Zwolle, Dag 2 event 23 januari 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Amsterdam, Dag 1 event 19 maart 2026, 09:30-16:30, Amsterdam, Dag 2 event 20 maart 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Eindhoven, Dag 1 event 19 maart 2026, 09:30-16:30, Eindhoven, Dag 2 event 20 maart 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Houten, Dag 1 event 19 maart 2026, 09:30-16:30, Houten, Dag 2 event 20 maart 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Online, Dag 1 event 19 maart 2026, 09:30-16:30, Online, Dag 2 event 20 maart 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Rotterdam, Dag 1 event 19 maart 2026, 09:30-16:30, Rotterdam, Dag 2 event 20 maart 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Zwolle, Dag 1 event 19 maart 2026, 09:30-16:30, Zwolle, Dag 2 event 20 maart 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Amsterdam, Dag 1 event 21 mei 2026, 09:30-16:30, Amsterdam, Dag 2 event 22 mei 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Eindhoven, Dag 1 event 21 mei 2026, 09:30-16:30, Eindhoven, Dag 2 event 22 mei 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Houten, Dag 1 event 21 mei 2026, 09:30-16:30, Houten, Dag 2 event 22 mei 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Online, Dag 1 event 21 mei 2026, 09:30-16:30, Online, Dag 2 event 22 mei 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Rotterdam, Dag 1 event 21 mei 2026, 09:30-16:30, Rotterdam, Dag 2 event 22 mei 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Zwolle, Dag 1 event 21 mei 2026, 09:30-16:30, Zwolle, Dag 2 event 22 mei 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Amsterdam, Dag 1 event 16 juli 2026, 09:30-16:30, Amsterdam, Dag 2 event 17 juli 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Eindhoven, Dag 1 event 16 juli 2026, 09:30-16:30, Eindhoven, Dag 2 event 17 juli 2026, 09:30-16:30, Eindhoven, Dag 3 |
JPA Architectuur
Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de uitdagingen waarmee zij worden geconfronteerd, worden de basis concepten en architectuur van de JPA uitgelegd. De rol van de EntityManager en het persistence.xml configuratie bestand wordt besproken.
Entities
Vervolgens wordt het concept van de JPA Entity besproken en komt de lifecycle van de Entities en hoe Entity classes op database tabellen worden gemapped aan de orde. Ook de verschillende states die Entities kunnen hebben ten opzichte van de database zoals new, persistent, detache…

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
JPA Architectuur
Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de uitdagingen waarmee zij worden geconfronteerd, worden de basis concepten en architectuur van de JPA uitgelegd. De rol van de EntityManager en het persistence.xml configuratie bestand wordt besproken.
Entities
Vervolgens wordt het concept van de JPA Entity besproken en komt de lifecycle van de Entities en hoe Entity classes op database tabellen worden gemapped aan de orde. Ook de verschillende states die Entities kunnen hebben ten opzichte van de database zoals new, persistent, detached and removed worden besproken net als het concept van merging.
Annotaties
Eveneens wordt het gebruik van annotaties en XML mapping files en de rol van de verschillende properties en attributen uitgelegd.
JPA Queries
De verschillende key generation strategieën worden besproken en er wordt ingegaan op het mappen van association en inheritance relaties tussen entities. Ook de mogelijkheden van de JPA Query taal, JPQL, komen aan de orde evenals het gebruik van JPA criteria en native SQL queries.
Callbacks
Vervolgens wordt de functie en de werking van Entity callbacks uitgelegd, die onmiddellijk vóór en na de uitvoering van een persistence operation worden aangeroepen, en komt ook het alternatief van de Entity Listener classes aan bod.
Interceptors
Onderdeel van de cursus zijn eveneens interceptors die worden gebruikt voor crosscutting concerns als logging en security. Ook wordt aandacht besteed aan het gebruik van JPA in een Jakarta EE applicatie, aan communicatie met EJB's en aan de packaging van JPA entities.
Transacties
Tenslotte worden JPA transacties behandeld in zowel een desktop
omgeving en als een Jakarta EE omgeving.
Doelgroep Cursus Java Data Access met JPA
De cursus Java Data Access met JPA is bestemd voor ervaren Java developers die willen leren hoe je de Java Persistence API kunt gebruiken voor database access vanuit Java.
Voorkennis Cursus Java Data Access met Persistence API
Om aan deze cursus te kunnen deelnemen is ervaring met programmeren in Java en object oriëntatie vereist. Kennis van database structuren en SQL is bevorderlijk voor een goede begripsvorming.
Uitvoering Training Cursus Java Data Access
De concepten worden behandeld aan de hand van presentatie slides en demo's. De theorie wordt afgewisseld met oefeningen. Alle onderwerpen in de Jakarta EE Persistence API Developer Certified Expert Exam (1Z0-898) worden besproken. De cursustijden zijn van 9.30 tot 16.30.
Officieel Certificaat Java Data Access
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Java Data Access met Persistence API.
Modules
Module 1 : Intro Java Persistence
- Java Persistence
- Traditional Persistence
- Transparent Persistence
- Persistence Technologies
- Direct File I/O
- Serialization
- Java Database Connectivity
- JDBC Architecture
- Executing Statements
- Retrieving Results
- JDBC Drivers
- JDBC URL's
- Problems with JDBC
Module 2 : Persistence API
- Object Relational Mapping
- Java Persistence API
- JPA Versions
- Entity Classes
- Entity Manager
- Persistence Context
- Entity Identity
- Entity Lifecycle
- Entity Relationships
- Persisting Objects
- Removing Objects
- Merging Objects
- Managing Identity
Module 3 : Mapping Persistent Objects
- Mapping Annotations
- Table Annotation
- UniqueConstraint Annotation
- Column Annotation
- Id Annotation
- IdClass Annotation
- GeneratedValue Annotation
- Version Annotation
- Basic Annotation
- Lob Annotation
- Temporal Annotation
- Enumerated Annotation
- Transient Annotation
Module 4 : Mapping Relationships
- Entity Relationship types
- Bidirectional OneToOne
- Bidirectional ManyToOne
- Bidirectional OneToMany
- Bidirectional ManyToMany
- Unidirectional OneToOne
- Unidirectional ManyToOne
- Unidirectional OneToMany
- Unidirectional ManyToMany
- Cascading Persist
- Cascading Merge
- Cascading Remove
Module 5 : Mapping Inheritance
- Mapping Class Hierarchies
- Mapping Strategies
- Single Table Inheritance
- DiscriminatorColumn Settings
- Single Table per Hierarchy
- Single Table Mapping Features
- Joined Subclass Strategy
- InheritanceType Joined
- Joined Subclass Per Hierarchy
- Table per Concrete Class
- Abstract Entity Classes
- Mapped Superclasses
Module 6 : JPA Query Language
- Java Persistence QL
- JPA QL Characteristics
- Query Interface
- Projections
- Subqueries
- Joins
- Update and Delete Queries
- Dynamic and Static Queries
- Criteria API
- Query Error Detection
- CriteriaBuilder
- Metamodel in JPA
Module 7 : Callbacks and Listeners
- Life Cycle Callback methods
- Entity Listeners
- Life Cycle Callback Rules
- Signature Life Cycle Callbacks
- Signature Entity Listeners
- @PrePersist and @PostPersist
- @PreRemove and @PostRemove
- @PreUpdate and @PostLoad
- Multiple Invocation Callbacks
- Invocation Order
Module 8 : Interceptors
- Interceptor Invocation Model
- @Interceptor Annotation
- Interceptor Classes
- Invocation Context
- @AroundInvoke
- Interceptor Lifecycle
- Interceptor Types
- Default and Exclude Interceptors
- PostConstruct or PostActivate
- PreDestroy and PrePassivate
Module 9 : Jakarta EE integration
- Enterprise Java Beans
- Sessions Beans
- Statefull and Stateless
- JNDI lookups
- EJB injection
- Transaction-Scoped Persistence Context
- Extended Persistence Context
- Persistence Unit
- Packaging in EAR files
- Deployment Descriptors
Module 10 : Transactions
- Data Integrity
- Transaction Control
- Begin, Commit and Rollback
- Demarcating Boundaries
- Container Managed
- Bean Managed
- Client Managed
- Transaction Attributes
- SessionSynchronization
- JTA Transactions
- Before Completion
- After Completion
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.

