2010-03-16 22 views
7

Quali sono i vantaggi e gli svantaggi di Hibernate & EJB3 l'uno rispetto all'altro?Pro e Contro: Hibernate vs. EJB 3

Ho trovato il post this, ma in realtà non ha risolto la mia domanda. Se non ho legami particolari con nessuna delle due tecnologie, cosa mi farebbe scegliere l'una rispetto all'altra? O ci sono situazioni in cui vorrei usarle entrambe?

Grazie, Zack

edit: in risposta ai commenti: Io non ne so molto di EJB3. Sto solo cercando di capire se è qualcosa che sarebbe fattibile per la mia azienda. Se EJB3 non è paragonabile a Hibernate, ti preghiamo di spiegarne il motivo.

+1

Wow! domanda davvero appiccicosa. Immagino che la squadra con cicli di rilascio/correzione-correzione più veloci vince questo round. Fintanto che l'ibernazione aderisce alle specifiche JPA, questa domanda sarebbe in agguato, ma se decidono di dirottare e incorporare alcune caratteristiche davvero interessanti allora ... – questzen

+1

Hibernate e EJB3 non si confrontano. EJB3 e la primavera possono invece essere confrontati. – Bozho

+0

@Bozho Penso che cosa intendesse chiedere fosse Hibernate vs. JPA (che è spesso mescolato con EJB3) –

risposta

9

APP fornisce un sottoinsieme di funzionalità di Hibernate, ma EJB3 fornisce altri servizi che Hibernate non (ad es i servizi Web, EJB, servizio Timer)

APP offre i seguenti vantaggi rispetto a Hibernate:

  • standardizzato API
  • fornitore indipendenza (può passare tra Hibernate, TopLink, OpenEJB, ecc)

Hibernate offre i seguenti vantaggi:

  • Ampiamente usato
  • standard de facto
  • Supporto diretto dalla primavera, Grails, ecc
  • strumenti
  • un supporto migliore
  • più funzioni rispetto JPA

Quello che puoi fare è scrivere la tua domanda in EJB usando JPA e poi quando necessario usa le funzionalità specifiche di Hibernate. O semplicemente usa Hibernate per persistenza, se non ti interessa la standardizzazione e il lock-in del fornitore. Realisticamente, è improbabile che tu possa passare da Hibernate a un altro provider, ma succede.

+0

Nitpick: Spring supporta anche JPA –

+3

sì, ma non ha chiesto di Spring ... –