Hibernate è uno strumento Object/Relational Mapper. È molto popolare tra le applicazioni Java e implementa l'API Java Persistence.
Hibernate ORM consente agli sviluppatori di scrivere più facilmente le applicazioni i cui dati sopravvivono al processo applicativo.
Le caratteristiche principali includono:
- Fornitore dell'APP: Oltre alla propria API "nativa", Hibernate è anche un'implementazione della specifica Java Persistence API (JPA). In quanto tale, può essere facilmente utilizzato in qualsiasi ambiente che supporti l'APP, comprese le applicazioni Java SE, i Java EE application server, i contenitori Enterprise OSGi, ecc.
- Persistenza idiomatica: Hibernate consente di sviluppare classi persistenti secondo i linguaggi naturali Object-oriented che includono l'ereditarietà, il polimorfismo, l'associazione, la composizione e il framework delle collezioni Java. Hibernate non richiede interfacce o classi di base per le classi persistenti e permette a qualsiasi classe o struttura di dati di essere persistente.
- Scalabile: Hibernate è stato progettato per funzionare in un cluster di server applicativi e fornire un'architettura altamente scalabile. Svernare bene le scale in qualsiasi ambiente: Utilizzatelo per guidare la vostra Intranet interna che serve centinaia di utenti o per applicazioni mission-critical che servono centinaia di migliaia di utenti.
- Affidabile: Hibernate è ben noto per la sua eccellente stabilità e qualità, comprovata dall'accettazione e dall'utilizzo da parte di decine di migliaia di sviluppatori Java.
- Estensibile: Hibernate è altamente configurabile ed estensibile Può essere modificato per soddisfare al meglio le esigenze e i requisiti specifici.
Come framework Object/Relational Mapping (ORM), Hibernate si occupa della persistenza dei dati in quanto si applica alle banche dati relazionali (via JDBC).