2014-12-13 6 views
28

Ho letto su di loro attraverso varie risorse. Importants quelli sono i seguenti: -JPA vs ORM contro Hibernate?

  1. Wikipedia articolo su ciascuno di essi
  2. What's the difference between JPA and Hibernate?

Ecco la mia comprensione di che cosa è la differenza b/w loro. Non sono sicuro se ho ragione su APP vs ORM

  1. ORM: Object Relational Mapping è il concetto/processo di conversione dei dati da Object linguaggio orientato al DB relazionale e viceversa Per esempio in java sua fatto con l'aiuto di reflection e jdbc.

  2. Hibernate: È l'implementazione del concetto precedente.

  3. JPA: È un gradino sopra ORM. La sua API e le sue specifiche di alto livello in modo tale da poter implementare diversi strumenti ORM in modo da fornire allo la flessibilità allo sviluppatore di cambiare l'implementazione da un ORM a un altro (ad esempio se l'applicazione utilizza l'API JPA e l'implementazione è in ibernazione. passare iBATIS se necessario. Ma dall'altro se l'applicazione bloccare direttamente l'attuazione con Hibernate senza piattaforma JPA, switiching sarà compito erculeo)

ci possono essere attuazione ORM con/senza JPA specification.For esempio come da questo link nella sezione ibernazione solo Le versioni di Hibernate 3.2 e successive forniscono un'implementazione per Java Persis tence API

+0

Hai assolutamente ragione. ORM è semplicemente un nome per il concetto o la mappatura di OO -> RMDBS. JPA è l'API Java Persistence, specificata come parte delle specifiche JavaEE. Hibernate è una delle implementazioni o quell'API. Esistono molte versioni di JPA e diverse versioni di Hibernate implementano diverse versioni dell'API JPA. –

+1

Non so perché abbia ricevuto un voto negativo anche in 5 secondi di pubblicazione. Apprezzeremmo se downvoter potesse darmi feedback in modo da poter migliorare la prossima volta –

+0

@BoristheSpider Thanx. Ho ragione anche su JPA? –

risposta

21
  1. ORM è l'approccio per l'acquisizione di dati orientati agli oggetti e la mappatura su un datastore relazionale (ad es. un RDBMS)

  2. Hibernate è un'implementazione di un quadro ORM

  3. APP è la specifica standard EE per ORM in Java EE. Hibernate è anche un'implementazione di questa specifica, in quanto è possibile utilizzare le API JPA standard e configurare la propria applicazione per utilizzare Hibernate come fornitore delle specifiche sotto le copertine.

Le funzioni fornite da Hibernate sono anche un superset delle funzioni ORM specificate nelle specifiche JPA. Significa che, mentre fornisce un'implementazione dell'API JPA, fornisce anche più funzioni oltre a quelle specificate da JPA.

+0

Hibernate è l'implementazione di JPA o ORM? Bit confuso. –

+1

Hibernate è un'implementazione della specifica JPA, che a sua volta fa parte delle specifiche Java EE. ORM è l'approccio di mappatura degli oggetti alle tabelle relazionali. –

1

L'unico errore che ti sembrava di fare nella vostra comprensione è

sua l'un gradino sopra ORM

Una breve nota, le librerie che iniziano con javax.persistence sono associati con JPA. Si consiglia di preferire queste librerie Hibernate quando possibile. Perché questi sono portatili.Tuttavia, in Hibernate si avranno alcune funzioni extra e, in quei casi precisi, non esitare a utilizzare Hibernate.