Java Data Access with Persistence API Cursus
Aanbieder | Learnit Training |
Kosten | €1.650,00 |
Overzicht
Bestemd voor
Ervaren Java ontwikkelaars die de Java Persistence API willen inzetten voor het benaderen van data in databases.
Benodigde kennis
Ervaring met Java programmeren en object orientatie is vereist. Kennis van database structuren en SQL is bevorderlijk voor een goede begripsvorming.Keurmerken
InschrijvenBeschrijving
Korte inhoud
In deze cursus komt Object Relational mapping met de Java Persistence API 2.0 aan de orde. Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de problemen daarbij, wordt ingegaan op de basis concepten en architectuur van JPA. De rol van de Entity Manager en het persistence.xml configuration file wordt besproken en aandacht wordt besteed aan de verschillen tussen versie 1.0 en 2.0 van de JPA specificatie. Vervolgens wordt ingegaan op het concept JPA Entity, de lifecycle van Entities en het mappen van Entity classes op database tabellen. De verschillende toestanden die Entities in relatie tot de database kunnen hebben zoals new, persistent, detached en removed worden hierbij besproken en er wordt ingegaan op het begrip merging. Ook komt de rol van annotations en XML mapping files aan de orde evenals de verschillende properties en attributen die daarbij een rol spelen. De verschillende key generation strategies komen aan bod evenals het mappen van associatie relaties en het mappen van inheritance relaties tussen Entities. Vervolgens worden de mogelijkheden van de JPA Query language, JPQL, besproken, is er aandacht voor JPA criteria en het gebruik van native SQL queries. De functie en werking van Entity callbacks die vlak voor en vlak na de uitvoering van een persistence operatie worden aangeroepen, wordt uit de doeken gedaan evenals die van Entity Listener classes. En ook het gebruik van interceptors voor crosscutting concerns zoals logging en security staat op het programma. Tenslotte wordt aandacht besteed aan het gebruik van JPA in een Java EE applicatie, de interactie met EJB's en de wijze van packaging. Tenslotte komen ook transacties in JPA aan bod zowel in een Desktop omgeving als in een Java EE omgeving.
Invulling
De concepten worden behandeld aan de hand van presentatie sheets en demos. De theorie wordt afgewisseld met oefeningen. Alle onderwerpen die gevraagd worden bij het Java Platform, Enterprise Edition 6 Java Persistence API Developer Certified Professional (CX-311-094) Exam komen aan de orde. Het cursusmateriaal is Engelstalig.
Specifieke inhoud
Module: 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: Java Persistence API
- Traditional Persistence
- Object Relational Mapping
- Persistence API and EJB's
- Entity Classes
- Entity Manager
- Persistence Context
- Entity Identity
- Entity Managers
- Entity Lifecycle
- Entity Relationships
- Persisting Objects
- Removing Objects
- Merging Objects
- Managing Identity
- JPA 1.0 versus 2.0
- New Features JPA 2.0
Module: 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: Mapping Relationships
- Entity Relationship types
- Bidirectional OneToOne
- Bidirectional ManyToOne
- Bidirectional OneToMany
- Bidirectional ManyToMany
- Unidirectional OneToOne
- Unidirectional ManyToOne
- Unidirectional OneToMany
- Unidirectional ManyToMany
- Cascading persist
Module: Mapping Inheritance
- Inheritance Mapping Strategies
- Single Table per Class Hierarchy
- Single Table Data Model
- Advantages and Disadvantages
- Table per Concrete Class Strategy
- Table per Class Data Model
- Advantages and Disadvantages
- Joined Subclass Strategy
- Joined Data Model
- Advantages and Disadvantages
Module: JPA Query Language
- Java Persistence QL
- Projections
- Subqueries
- Joins
- Update
- Delete
- Queries
- Dynamic Query
- Static Query
- Criteria API
- CriteriaQuery interface
- Query Error Detection
- CriteriaBuilder
- Metamodel in JPA 2
Module: Entity 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: Interceptors
- Interceptors
- Interceptor Classes
- @AroundInvoke
- Example Interceptor
- Interceptor Lifecycle
- Interceptor Types
- Default Interceptors
- Exclude Interceptors
Module: Java 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: Transactions
- Transactions
- Demarcating Boundaries
- Container Managed
- Bean Managed
- Client Managed
- Transaction Attributes
- SessionSynchronization
- Before Completion
- After Completion