J2EE
Plan
ORM
Entités
Associations
Comportement
Requêtes
Mise en œuvre
Olivier Perrin, Université de Lorraine LicencePro, 2013
ORM
=
Object Relational Mapping
Olivier Perrin, Université de Lorraine LicencePro, 2013
4
ORM
Object/Relational Mapping
Beaucoup d’applications ont besoin d’une couche de persistance accès à des données persistantes stockées dans un SGBD
‣ gestion des données persistantes dans le SGBD
‣
ORM résout la différence entre modèle Objet et modèle
Relationnel
les données sont dans la BDD relationnelle: orientée tables, nuplets, colonnes
‣ l’application travaille avec des classes, des objets, pas des nuplets ou des colonnes
‣
Autres possibilités: Hibernate, JDO,…
Olivier Perrin, Université de Lorraine LicencePro, 2013
5
JPA ?
Standard offert par JavaEE/JavaSE
Framework ORM
Persistance transparente
POJO
Respecte les concepts OO
Olivier Perrin, Université de Lorraine LicencePro, 2013
JPA: les besoins
Simplifier le modèle de persistance
Modèle de persistance léger
Support de modélisation complexe
‣
héritage, polymorphisme
ORM standard et efficace optimisé pour les SGBD relationnels
‣ annotations standardisées
‣
Requêtes
Plusieurs supports de persistance
‣
notion de persistence unit (persistence.xml)
Olivier Perrin, Université de Lorraine LicencePro, 2013
6
7
JPA 2.1
Entités
Types de base
‣
Strings, integers, floats, decimals
Classes embeddable améliorées par exemple une adresse
‣ embeddables imbriquées; embeddables avec associations
‣
Associations one-to-one, one-to-many/many-to-one, many-to-many
‣ collections en utilisant java.util.Collection, Set, List, ou Map
‣ paramètrage avec @JoinColumn, @JoinTable,…
‣
Héritage
‣
table simple, sous-classe, table par classe (optionnel)
Olivier Perrin, Université de Lorraine LicencePro, 2013
JPA 2.1: nouveautés
Collections
collections de strings,