- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Java Data Access met Persistence API staat Object Relational Mapping met de Java Persistence API 2.x op de agenda.
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.
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.
Eveneens wordt het gebruik van annotaties en XML mapping files en de rol van de verschillende properties en attributen uitgelegd.
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.
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.
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 Java EE applicatie, aan communicatie met EJB's en aan de packaging van JPA entities.
Tenslotte worden JPA transacties behandeld in zowel een desktop omgeving en als een Java EE omgeving.
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.
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.
De concepten worden behandeld aan de hand van presentatie slides en demo's. De theorie wordt afgewisseld met oefeningen. Alle onderwerpen in de Java EE Persistence API Developer Certified Expert Exam (1Z0-898) worden besproken. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Java Data Access met Persistence API.
Module 1 : Intro Java Persistence |
Module 2 : Persistence API |
Module 3 : Mapping Persistent Objects |
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 |
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 |
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 |
Module 5 : Mapping Inheritance |
Module 6 : JPA Query Language |
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 |
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 |
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 |
Module 8 : Interceptors |
Module 9 : Java EE integration |
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 |
Interceptor Invocation Model @Interceptor Annotation Interceptor Classes Invocation Context @AroundInvoke Interceptor Lifecycle Interceptor Types Default and Exclude Interceptors PostConstruct or PostActivate PreDestroy and PrePassivate |
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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
Na afloop van iedere cursus worden de deelnemers verzocht de cursus te evalueren ten aanzien van cursusinhoud, cursusmateriaal, trainer en locatie. Het evaluatie formulier staat op https://www.klantenvertellen.nl/reviews/1039545/spiraltrain. De evaluaties van voorgaande deelnemers en voorgaande cursussen kunnen daar ook worden teruggevonden.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.