Java Data Access met JPA
Lesgeld
Cursus Java Data Access met JPA
In de cursus Java Data Access met JPA leer je alles over de efficiëntie en de mogelijkheden van data access in Java. Deze cursus geeft een gedetailleerd inzicht in JPA, de Java Persistence API, en hoe je deze kunt toepassen in je projecten. Je start met een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de uitdagingen die daarbij komen kijken.
JPA Architectuur
Na een introductie van de cursus Java Data Access met
Cursus Java Data Access met JPA
In de cursus Java Data Access met JPA leer je alles over de efficiëntie en de mogelijkheden van data access in Java. Deze cursus geeft een gedetailleerd inzicht in JPA, de Java Persistence API, en hoe je deze kunt toepassen in je projecten. Je start met een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de uitdagingen die daarbij komen kijken.
JPA Architectuur
Na een introductie van de cursus Java Data Access met JPA worden de basisconcepten en architectuur van JPA uitgelegd. De rol van de EntityManager en het configuratiebestand persistence.xml worden uitgebreid besproken, wat essentieel is voor een succesvolle implementatie van JPA in je applicaties.
Entities
Vervolgens behandelen we het concept van de JPA Entity en de lifecycle van Entities. Je leert hoe Entity classes op database tabellen worden gemapped en welke verschillende states Entities kunnen hebben ten opzichte van de database, zoals new, persistent, detached en removed. Ook het concept van merging wordt diepgaand besproken.
Annotaties
In deze cursus Java Data Access met JPA wordt ook het gebruik van annotaties en XML mapping files behandeld. Je ontdekt de rol van verschillende properties en attributen die van belang zijn voor het correct functioneren van JPA.
JPA Queries
De cursus gaat verder met de verschillende key generation strategieën en het mappen van associaties en inheritance relaties tussen Entities. De mogelijkheden van de JPA Query taal, JPQL, komen aan bod, evenals het gebruik van JPA criteria en native SQL queries.
Callbacks
Daarnaast wordt de functie en werking van Entity callbacks uitgelegd. Deze callbacks worden onmiddellijk vóór en na de uitvoering van een persistence operation aangeroepen. Ook de alternatieven van de Entity Listener classes worden besproken.
Interceptors
Een ander belangrijk onderdeel van de cursus zijn interceptors, die worden gebruikt voor crosscutting concerns zoals logging en security. Verder besteden we aandacht aan het gebruik van JPA in een Jakarta EE applicatie, de communicatie met EJB's en de packaging van JPA Entities.
Transacties
Tenslotte worden JPA transacties behandeld in zowel een desktop omgeving als in een Jakarta EE omgeving. Wil je meer leren over Java? Overweeg dan ook onze cursus Java Programmeren voor een bredere basis in Java.
Voor meer informatie over JPA kun je de officiële specificaties van Jakarta Persistence raadplegen.
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