Hoe bouw ik een ECHTE applicatie met JPA?Korte omschrijving: De Java Persistence API, kortweg JPA, is onderdeel van de Java EE 5 specificatie en wordt geïmplementeerd door Hibernate, TopLink, EclipseLink, OpenJPA, en nog een aantal andere object relational mapping (ORM) frameworks. JPA kan gebruikt worden in EJB 3.0 applicaties maar kan ook zonder EJB 3.0 ingezet worden, b.v. binnen het Spring framework. En als zelfs Gavin King, de ontwerper van Hibernate, in de tweede editie van Hibernate in Action, Java Persistence with Hibernate, aanraadt om JPA te gebruiken kan je er eigenlijk niet meer omheen.
Er is genoeg literatuur die uitlegt welke objecten er binnen JPA bestaan, hoe deze samenwerken en hoe ze ongeveer geïmplementeerd zijn. Het lijkt allemaal vrij rechttoe rechtaan zolang je het bij hello-world achtige programmaatjes houdt. Maar als je een grotere applicatie bouwt met JPA ontdek je dat het niet zo simpel is. Er moeten keuzes gemaakt worden over transactieafhandeling, over lazy loading, over detached objecten (denk aan web applicaties), inheritance en meer van die zaken. Je hebt niet alleen binnen je data access objecten (DAO’s) en je domein objecten te maken met JPA; het heeft invloed op de gehele architectuur van je applicatie.
In deze presentatie zullen we aan de hand van concrete voorbeelden antwoord geven op vragen als:
- Hoe maak ik makkelijk een DAO? - Hoe regel ik bidirectionale relaties tussen objecten? - Hoe maak ik gebruik van lazy loading? - Hoe richt ik transactie management in? - Hoe ga ik om met inheritance? - Hoe ga ik om met detached objecten? - Hoe bewaar, wijzig en verwijder ik objecten het beste? - Hoe test ik mijn DAO's? - In welke lagen deel ik mijn applicatie op? - Hoe krijg ik toegang tot services?
Aan het einde van deze presentatie heb je een handvol JPA implementation patterns die je kan gebruiken in je huidige of je volgende project waar je JPA gebruikt!
Niveau: Intermediate
Track: Enterprise
Vereiste voorkennis: JPA en/of ORM frameworks zoals Hibernate en TopLink Structurele opbouw:
- Korte introductie van mijzelf - Probleemstelling: Waarom is JPA niet zo straight forward als het lijkt? - Behandeling van de JPA implementation patterns: - Type-safe DAO - Bidirectionele relatis - Lazy loading - Transaction handling - Inheritance - Persisting and merging new and detached objects - Finding and getting objects - Removing objects - Testing - Application architecture layering - Access to services - Samenvatting: De relatie tussen de JPA implementation patterns. - Q&A
Download de presentatie

|
Vincent Partington XebiaLabs Vincent Partington is sinds de eerste beta versies van Java actief met Java. Niet veel later is hij zich gaan interesseren voor Java web technologie en schreef Vincent een open source JSP implementatie, GNUJSP. Sindsdien heeft hij zich bij verschillende werkgevers met Java EE technologie bezig gehouden. In 2003 ging Vincent Partington werken bij Xebia. Daar heeft hij zich gespecialiseerd op het gebied van middleware management, software audits, security scans en performance tuning. Sinds 2008 is hij als CTO van XebiaLabs verantwoordelijkheid voor de ontwikkeling van Deployit, het nieuwe deployment lifecycle management product voor Java EE omgevingen.
|
|