Академический Документы
Профессиональный Документы
Культура Документы
Objectifs
Ce chapitre traite des sujets suivants : expliquer le concept de persistance crer un mapping relationnel objet utiliser des annotations pour amliorer les entits JPA (Java Persistence API API de persistance Java) utiliser des entits JPA pour mettre en correspondance des donnes d'application avec la base de donnes identifier une interrogation JPA et l'utiliser efficacement dans une application
3-2
Persistance : Prsentation
La mise en correspondance d'objets de base de donnes relationnelle avec des objets Java facilite le dveloppement d'applications Java EE. Ce mapping est fourni par des structures telles que l'API de persistance Java EJB 3.0.
Modle Java
Schma
3-4
Couche de persistance
Une couche de persistance isole les informations de persistance de la couche applicative.
Objets
Objets
Crations et mises jour d'objets via une API de niveau objet. L'API utilise SQL ou des appels de base de donnes spcifiques.
Persistance
Lignes
SQL
3-5
3-6
3-7
Entits JPA
L'objet EntityManager
gre les manipulations de donnes permet l'appel des entits hors du conteneur
3-8
Annotations d'entit
@Entity
@Id @IdClass @EmbeddedId
@Table, @SecondayTable
@UniqueConstraint @PrimaryKeyJoinColumn(s)
@NamedQuery(s) Squencement
@GeneratedValue @SequenceGenerator @TableGenerator
3-9
POJO
ORDERS
Base de donnes
3-10 Copyright 2007, Oracle. Tous droits rservs.
Objet Product
3-11
3-12
Types de mapping
Le type de mapping dfinit le mode de stockage des donnes et des relations d'un objet dans la base. Stockage direct dans un champ : Les donnes d'une variable d'instance sont stockes directement dans une colonne d'une table. Conversion de type : Les donnes d'un certain type sont stockes dans une table avec un autre type.
Par exemple, la chane "age" de l'objet est stocke avec le type numrique dans la table.
1 1 : Une relation 1 1 entre deux classes est stocke dans la base de donnes.
3-13
La mise en correspondance d'une entit JPA avec une table de base de donnes est ralise par dfaut, l'aide d'annotations.
@Entity // annotation public class Products implements Serializable { @Column(nullable = false) private String description; private String image; @Column(nullable = false) private String name; @Id @Column(name="PROD_ID", nullable = false) private Long prodId; }
3-14
OneToMany
ServiceRequest
ServiceHistory
ManyToMany et AssociationTable
Users
Products
3-15
Le cycle de vie d'une entit est gr l'aide de l'interface EntityManager, qui fait partie de l'API de persistance Java. Une entit peut tre cre l'aide de :
l'oprateur new (cre une instance dtache)
Une entit est insre, mise jour ou supprime partir d'une base de donnes via l'API de persistance Java. persist()
new merge() remove() find() LMD
Interrogation
Entit
Entits
Base de donnes
3-16
Entity Manager
Interrogation :
Extraction d'entits de la base de donnes
Transactions :
Application de modifications aux entits
Gnral :
isOpen() close() contains(Object entity)
Utilisation :
Gestion par le conteneur (injection) Initialisation (bootstrap) d'application (EntityManagerFactory)
3-17
Entity Manager
Instruction SQL
Objet
EntityManager
Base de donnes
Rsultats de l'interrogation
3-18
3-19
new()
Nouvelle
Gre
Supprime
Hors de porte
merge() refresh()
Dtache
3-20
Entit dtache
3-21
EJB
Entit
Entit
Base de donnes
3-22
3-23
Synthse
Ce chapitre a trait des sujets suivants : expliquer le concept de persistance et comment les entits JPA l'implmentent crer un mapping relationnel objet l'aide d'annotations pour amliorer les beans Entity identifier une interrogation nomme et l'utiliser efficacement dans une application
3-24