Quelle est la différence entre le projet JPA et le projet EJB dans Eclipse?


Lequel est utilisé quand?

Quand je veux une application d'entité JSF + Bean sans état + JPA, j'ai besoin d'un projet EJB et d'un projet Web dynamique intégré au projet EAR?

Author: tmp, 2011-05-05

3 answers

Un projet EJB est un projet axé sur le développement de Beans Java d'entreprise. Généralement, les EJB dépendent des Beans Entitity pour la persistance qui sont implémentés à l'aide de la technologie JPA (pensez à JPA comme une dépendance de l'EJB).

La raison pour laquelle vous avez la possibilité de créer un projet JPA indépendamment de l'EJB, est que certaines personnes peuvent ne pas vouloir utiliser (ou n'en ont pas besoin) les EJB mais elles doivent quand même utiliser un framework ORM tel que JPA. Un tel cas pourrait être par exemple un web projet (c'est-à-dire JSF) qui utiliserait JPA directement pour la persistance (pas d'EJBS).

Le point à retenir est que bien que EJB 3 ait utilisé JPA pour la persistance, vous n'avez pas nécessairement à utiliser EJBs dans votre projet (sauf si vous avez besoin de le faire) afin de bénéficier d'un framework ORM tel que JPA.

Maintenant, pour activer JPA sur un projet EJB dans eclipse, cliquez avec le bouton droit sur le projet, allez dans l'option "Facettes du projet" et sélectionnez la facette JPA. Ce faisant, eclipse ajoutera les bibliothèques requises, créera le artefacts nécessaires (persistance.xml) et activez l'outillage lié à JPA sur votreE.

 14
Author: Lefteris Laskaridis, 2017-06-22 12:02:43

L'API Java Persistence, parfois appelée JPA, est une spécification de langage de programmation Java qui décrit la gestion des données relationnelles dans les applications utilisant Java Platform, Standard Edition et Java Platform, Enterprise Edition.

L'API Java Persistence est née dans le cadre des travaux du groupe d'experts JSR 220. JPA 2.0 est le travail du groupe d'experts JSR 317.

La persistance dans ce contexte couvre trois domaines:

the API itself, defined in the javax.persistence package
the Java Persistence Query Language (JPQL)
object/relational metadata

JavaBeans d'entreprise (EJB) est une API Java développée par Sun Microsystems qui définit une architecture de composants pour les systèmes client/serveur à plusieurs niveaux.

Les systèmes EJB permettent aux développeurs de se concentrer sur l'architecture métier réelle du modèle, plutôt que de s'inquiéter des quantités infinies de programmation et de codage nécessaires pour connecter toutes les pièces de travail. Cette tâche est laissée aux fournisseurs de serveurs EJB. Les développeurs ne font que concevoir (ou acheter) les composants EJB nécessaires et les organiser sur le serveur.

Parce que les systèmes EJB sont écrits en Java, ils sont indépendants de la plate-forme. Étant orientés objet, ils peuvent être implémentés dans des systèmes existants avec peu ou pas de recompilation et de configuration.

 5
Author: Ashish Babu, 2013-08-21 11:12:59

Cela dépend de la version de Java EE que vous utilisez. Dans Java EE 6, nous pouvons avoir les EJB dans le fichier WAR lui-même. Si un projet web Dynamique suffirait.

Si vous utilisez Java EE 1.5, vous devez avoir un projet Web dynamique pour JSF et pour le bean sans État, vous devez avoir un projet EJB et un projet d'entreprise doit également regrouper la GUERRE et le POT dans une OREILLE. Vous pouvez avoir des classes liées à la persistance dans le projet EJB lui même et ne pas nécessiter de projet JPA ici.

Java EE fournit la possibilité d'utiliser JPA indépendamment des EJBs, donc si votre application ne nécessite pas d'EJBs mais souhaite toujours utiliser JPA, vous pouvez opter pour un projet JPA.

 1
Author: Eager Learner, 2013-04-21 09:19:53