Java Data Access with 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 Architecture
After an overview of the data access capabilities in Java, including JDBC, and the challenge they face, the basic concepts and architecture of the JPA is explained. The role of the Entity Manager and the persistence.xml configuration file is discussed.
Entities
The next topic covers the concept of a JPA Entity, the lifecycle of Entities and how Entity classes are mapped to database tables. Also the various states Entities can have in relation to the database such as new, persistent, detached and removed are discussed in this respect as is the concept of merging.
Annotations
Fur…

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
JPA Architecture
After an overview of the data access capabilities in Java, including JDBC, and the challenge they face, the basic concepts and architecture of the JPA is explained. The role of the Entity Manager and the persistence.xml configuration file is discussed.
Entities
The next topic covers the concept of a JPA Entity, the lifecycle of Entities and how Entity classes are mapped to database tables. Also the various states Entities can have in relation to the database such as new, persistent, detached and removed are discussed in this respect as is the concept of merging.
Annotations
Furthermore the use of annotations and XML mapping files and the role the various properties and attributes play is explained.
JPA Queries
The various key generation strategies are discussed as well as the mapping of association relationships and the mapping of inheritance relationships between Entities. Next the possibilities of the JPA Query language, JPQL, are covered and the uses of JPA criteria and native SQL queries.
Callbacks
The function and operation of Entity callbacks that are called immediately before and after the execution of a persistence operation is explained and the alternative use of Entity Listener classes as well.
Interceptors
Part of the course program is also the treatment of interceptors which are used for crosscutting concerns like logging and security. Finally, attention is paid to the use of JPA in a Jakarta EE application, how to interact with EJBs and the method of packaging JPA entities.
Transactions
Finally JPA transactions are addressed in both a desktop environment and a Jakarta EE environment.
Audience Course Java Data Access
Experienced Java developers who want to learn how to use the Java Persistence API for accessing data in databases.
Prerequisites Java Data Access with Persistence API
Experience with Java programming and object orientation is required to participate in this course. Knowledge of database structures and SQL is beneficial for a good understanding.
Realization Training Course Java Data Access
The concepts are treated on the basis of presentation slides and demos. The theory is interspersed with exercises. All topics in the Jakarta EE Persistence API Developer Certified Expert Exam (1Z0-898) will be discussed. The course material is in English. The course times are from 9.30 up and to 16.30.
Certification Java Data Access with Persistence API
Participants receive an official certificate Java Data Access with Persistence API after successful completion of the course.
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.

