JPA - Architecture

L'API Java Persistence est une source pour stocker des entités commerciales en tant qu'entités relationnelles. Il montre comment définir un PLAIN OLD JAVA OBJECT (POJO) en tant qu'entité et comment gérer des entités avec des relations.

Architecture au niveau de la classe

L'image suivante montre l'architecture au niveau de la classe de JPA. Il montre les classes principales et les interfaces de JPA.

Le tableau suivant décrit chacune des unités présentées dans l'architecture ci-dessus.

Unités La description
EntityManagerFactory Il s'agit d'une classe d'usine d'EntityManager. Il crée et gère plusieurs instances EntityManager.
EntityManager C'est une Interface, elle gère les opérations de persistance sur les objets. Cela fonctionne comme l'usine pour l'instance de requête.
Entity Les entités sont les objets de persistance, stockés sous forme d'enregistrements dans la base de données.
EntityTransaction Il a une relation individuelle avec EntityManager. Pour chaque EntityManager, les opérations sont gérées par la classe EntityTransaction.
Persistence Cette classe contient des méthodes statiques pour obtenir l'instance EntityManagerFactory.
Query Cette interface est implémentée par chaque fournisseur JPA pour obtenir des objets relationnels répondant aux critères.

Les classes et interfaces ci-dessus sont utilisées pour stocker des entités dans une base de données en tant qu'enregistrement. Ils aident les programmeurs en réduisant leurs efforts pour écrire des codes pour stocker des données dans une base de données afin qu'ils puissent se concentrer sur des activités plus importantes telles que l'écriture de codes pour mapper les classes avec des tables de base de données.

Relations de classe JPA

Dans l'architecture ci-dessus, les relations entre les classes et les interfaces appartiennent au package javax.persistence. Le diagramme suivant montre la relation entre eux.

  • La relation entre EntityManagerFactory et EntityManager est one-to-many. Il s'agit d'une classe d'usine pour les instances EntityManager.

  • La relation entre EntityManager et EntityTransaction est one-to-one. Pour chaque opération EntityManager, il existe une instance EntityTransaction.

  • La relation entre EntityManager et Query est one-to-many. De nombreuses requêtes peuvent être exécutées à l'aide d'une seule instance EntityManager.

  • La relation entre EntityManager et Entity est one-to-many. Une instance EntityManager peut gérer plusieurs entités.