La spécification JPA 2.1 La spécification JPA 2.1 Entity Manager Octobre 2019 H

La spécification JPA 2.1 La spécification JPA 2.1 Entity Manager Octobre 2019 Hend FOURATI hend.fourati@esprit.tn Bureau E204 1 Plan • Entity manager • Persistence context • Cycle de vie • Manipulation des entités • Manipulation des entités • Comment obtenir un « EntityManager » 2 Pour assurer la persistance d’une entité dans la base, il est nécessaire d’invoquer une interface JPA spécifique, appelée EntityManager. les entités peuvent être utilisées comme des objets normaux et peuvent devenir gérées par le gestionnaire d’entités lorsqu'il faut charger ou insérer des données dans la base. Entity manager Lorsqu'une entité est gérée, il devient possible d’effectuer des opérations de persistance : le gestionnaire d’entités synchronisera automatiquement l’état de l’entité avec la base de données. L’interface javax.persistence.EntityManager est implémentée par un fournisseur de persistance qui produira et exécutera des instructions SQL. 3 Entity manager L’ensemble des instances d’entités qui sont gérées par le gestionnaire d’entités est appelé contexte de persistance. L’unité de persistance est le pont qui relie le contexte de persistance et la base de 4 persistance et la base de données. Persistence context Le gestionnaire d’entités modifie ou consulte le contexte de persistance à chaque appel d’une méthode de l’interface javax.persistence.EntityManager. Lorsque la méthode persist() est appelée, par exemple, l’entité passée en paramètre sera ajoutée au contexte de persistance si elle ne s’y trouve pas déjà. déjà. De même, lorsque l’on recherche une entité a partir de son identifiant, le gestionnaire d’entités vérifie d’abord si elle existe déjà dans le contexte de persistance. Ce contexte peut donc être considéré comme un cache de premier niveau : c’est un espace réduit où le gestionnaire stocke les entités avant d’écrire son contenu dans la base de données. 5 Cycle de vie • nouvelle (new) : elle est créée mais pas associée à un contexte de persistance • gérée (managed) par un gestionnaire de persistance elle a une identité dans la base de données (un objet peut devenir géré par la méthode persist, ou merge d’une entité détachée ; un objet géré peut aussi provenir d’une requête faite par un gestionnaire d’entités ou d’une navigation à partir d’un objet géré) • détachée (detached) : elle a une identité dans la base mais elle n’est plus associée à un contexte de persistance (une entité peut, par exemple, devenir détachée si le contexte de persistance est vidé ou si elle est envoyée dans une autre JVM par RMI) • supprimée (removed): elle a une identité dans la base ; elle est associée à un contexte de persistance et ce contexte doit la supprimer de la base de données (passe dans cet état par la méthode remove) 6 Cycle de vie 7 Manipulation des entités 8 Comment obtenir un « EntityManager » On obtient un entitymanager par injection de dépendances. 9 uploads/Management/3-entitymanager.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Apv 24, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4322MB