Qual è la differenza tra il progetto JPA e il progetto EJB in Eclipse?


Quale viene usato quando?

Quando voglio JSF + Stateless Bean + JPA Entity application Ho bisogno del progetto EJB e il progetto Web dinamico si integra nel progetto EAR?

Author: tmp, 2011-05-05

3 answers

Un progetto EJB è un progetto focalizzato sullo sviluppo di Java Bean aziendali. Comunemente, gli EJB dipendono dai Bean di entità per la persistenza che sono implementati usando la tecnologia JPA (pensa a JPA come a una dipendenza dell'EJB).

Il motivo per cui hai la possibilità di creare un progetto JPA indipendentemente da EJB, è che alcune persone potrebbero non voler usare (o non avere bisogno di) EJB ma comunque, hanno bisogno di usare un framework ORM come JPA. Tale caso potrebbe essere ad esempio un web progetto (cioè JSF) che utilizzerebbe JPA direttamente per la persistenza (senza EJB).

Il punto da asporto è che sebbene EJB 3 abbia utilizzato JPA per la persistenza, non è necessario utilizzare necessariamente EJB nel progetto (a meno che non sia necessario farlo) per beneficiare di un framework ORM come JPA.

Ora, per abilitare JPA su un progetto EJB in eclipse, fai clic con il pulsante destro del mouse sul progetto, vai all'opzione "Sfaccettature del progetto" e seleziona il facet JPA. In questo modo, eclipse aggiungerà le librerie richieste, creerà il artefatti necessari (persistenza.xml) e abilita gli strumenti relativi a JPA sul tuo IDE.

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

La Java Persistence API, a volte indicata come JPA, è una specifica del linguaggio di programmazione Java che descrive la gestione dei dati relazionali nelle applicazioni che utilizzano Java Platform, Standard Edition e Java Platform, Enterprise Edition.

L'API di persistenza Java è nata come parte del lavoro del gruppo di esperti JSR 220. JPA 2.0 è il lavoro del gruppo di esperti JSR 317.

La persistenza in questo contesto copre tre aree:

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

JavaBeans aziendali (EJB) è un'API Java sviluppata da Sun Microsystems che definisce un'architettura di componenti per sistemi client/server multi-livello.

I sistemi EJB consentono agli sviluppatori di concentrarsi sull'effettiva architettura di business del modello, piuttosto che preoccuparsi di infinite quantità di programmazione e codifica necessarie per collegare tutte le parti di lavoro. Questa attività è lasciata ai fornitori di server EJB. Gli sviluppatori progettano (o acquistano) i componenti EJB necessari e li sistemano sul server.

Perché i sistemi EJB sono scritti in Java, sono indipendenti dalla piattaforma. Essendo orientati agli oggetti, possono essere implementati in sistemi esistenti con poca o nessuna ricompilazione e configurazione.

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

Dipende dalla versione di Java EE che si sta utilizzando. In Java EE 6 possiamo avere gli EJB nel file WAR stesso. Quindi un progetto web dinamico sarebbe sufficiente.

Se si utilizza Java EE 1.5, è necessario disporre di un progetto Web dinamico per JSF e per bean Stateless è necessario disporre di un progetto EJB e anche un progetto enterprise è necessario raggruppare la GUERRA e il BARATTOLO in un ORECCHIO. È possibile avere classi relative alla persistenza nel progetto EJB stesso e non richiedere un progetto JPA qui.

Java EE fornisce la possibilità di utilizzare JPA indipendentemente da EJB, quindi se la tua applicazione non richiede EJB ma vuole comunque utilizzare JPA, puoi optare per un progetto JPA.

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