Your SlideShare is downloading. ×
Java Persistence API (JPA) - A Brief Overview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java Persistence API (JPA) - A Brief Overview

4,768
views

Published on

This is a lightning presentation given by Scott Rabon, a member of my development team. He presents a high level overview of the JPA based on his first exposure to it.

This is a lightning presentation given by Scott Rabon, a member of my development team. He presents a high level overview of the JPA based on his first exposure to it.

Published in: Technology, News & Politics

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,768
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
143
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Java Persistence API (JPA) A Brief Overview By Scott Rabon
  • 2. We have come a long way • Java application persistence history – JDBC – EJB Entity Beans 1
  • 3. Industry answered the call • Proprietary persistence products were introduced – JBoss Hibernate – Oracle Top Link 2
  • 4. Why Another Standard • Standard goes deeper than a product • Can be implemented by different vendors • Developers code to interface, not implementation 3
  • 5. A Standard Is Born JSR 220 – EJB 3.0 Specification Java Persistence API part of EJB 3.0 Specification 4
  • 6. JPA Fun Facts • JSR 220 formed May 2003 • Released May 2006 • Expert group consisted of industry ORM developers 5
  • 7. JPA – Designed for Ease of Use • Main goal of design team • Elegant, powerful and flexible • Easy to learn 6
  • 8. Aspects: POJO Persistence • Objects are POJO’s • Mapping is metadata driven • External XML or annotation based 7
  • 9. Aspects: Non Intrusiveness • API does not intrude on objects • API exists as a separate layer from persistent objects • Objects are “unaware” of the API 8
  • 10. Aspects: Object Queries • Query across entities and relationships • Expressed in Java Persistence Query Language (JPQL) • Uses a schema abstraction 9
  • 11. Aspects: Mobile Entities • Detachment Model • Move entities between JVM’s • Can change state anywhere along the way • Reattach upon return 10
  • 12. Aspects: Simple Configuration • Java SE 5 Annotations • XML • Heavy use of defaults 11
  • 13. Aspects: Integration and Testability • Challenge: Testing on an app server • API works outside application server – Two tier apps – Unit tests and automated testing frameworks 12
  • 14. Entities Not same as entity beans 13
  • 15. Entity Characteristics - Persistability • Entities must be persistable • State can be represented in a data store • Entities can be manipulated without having persistent repercussions – app must use API 14
  • 16. Entity Characteristics - Identity • Key that uniquely identifies an instance • Persistent identity • Equivalent to primary key 15
  • 17. Entity Characteristics - Transactionality • Adds, updates and deletes normally occur in a transaction • Changes succeed or fail atomically • In memory entities 16
  • 18. Entity Characteristics - Granularity • Not primitives, wrappers, built-in objects • Are business domain objects that mean something • Should be fairly lightweight objects 17
  • 19. Entity Manager • Interface encapsulating most persistence functionality • Set of managed instances is named persistence context 18
  • 20. Queries • Use JPQL syntax • Can be defined statically (named) or dynamically • Dynamic queries supply query criteria 19
  • 21. JPA’s future - Independence • Break free from the EJB specification • Will get it’s own JSR for future evolution 20
  • 22. The End 5 minutes of question time starts now!
  • 23. Questions 4 minutes left!
  • 24. Questions 3 minutes left!
  • 25. Questions 2 minutes left!
  • 26. Questions 1 minute left!
  • 27. Questions 30 seconds left!
  • 28. Questions TIME IS UP!

×