Java Data Access with Persistence API Training
| Aanbieder | Twice IT Training |
| Kosten | €1.650,00 |
Overzicht
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 6 omgeving.
Volledige omschrijving
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. InschrijvenBeschrijving
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