Hibernate
Hibernate software | |
---|---|
Genere | Relational database management system |
Sviluppatore | Red Hat |
Data prima versione | 2001 |
Ultima versione | 6.5.0 (25 aprile 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | Java |
Licenza | GNU Lesser General Public License (licenza libera) |
Sito web | hibernate.org/ |
In informatica Hibernate (talvolta abbreviato in H8) è una piattaforma middleware open source per lo sviluppo di applicazioni Java, attraverso l'appoggio al relativo framework, che fornisce un servizio di object-relational mapping (ORM) ovvero gestisce la persistenza dei dati sul database attraverso la rappresentazione e il mantenimento su database relazionale di un sistema di oggetti Java.
Come tale dunque, nell'ambito dello sviluppo di applicazioni web, tale strato software si frappone tra il livello logico di business o di elaborazione e quello di persistenza dei dati sul database (Data Access Layer).
È stato originariamente sviluppato da un team internazionale di programmatori volontari coordinati da Gavin King; in seguito il progetto è stato proseguito sotto l'egida di JBoss, che ne ha curato la standardizzazione rispetto alle specifiche Java EE.
Caratteristiche
[modifica | modifica wikitesto]Hibernate è distribuito in licenza LGPL sotto forma di librerie software da linkare nel progetto di sviluppo software. Lo scopo principale di Hibernate è quello di fornire un mapping delle classi Java in tabelle di un database relazionale; sulla base di questo mapping Hibernate gestisce il salvataggio degli oggetti di tali classi su database (tipicamente attributi di oggetti per ciascun campo dati della tabella). Si occupa inoltre al rovescio del reperimento degli oggetti dal database, producendo ed eseguendo automaticamente le query SQL necessarie al recupero delle informazioni e la successiva reistanziazione dell'oggetto precedentemente mappato su database.
L'obiettivo di Hibernate è quello di esonerare lo sviluppatore dall'intero lavoro relativo alla persistenza dei dati. Hibernate si adatta al processo di sviluppo del programmatore, sia se si parte da zero sia se da un database già esistente. Hibernate genera le chiamate SQL e solleva lo sviluppatore dal lavoro di recupero manuale dei dati e dalla loro conversione, mantenendo l'applicazione portabile in tutti i database SQL. Hibernate fornisce una persistenza trasparente per Plain Old Java Object (POJO); l'unica grossa richiesta per la persistenza di una classe è la presenza di un costruttore senza argomenti. In alcuni casi si richiede un'attenzione speciale per i metodi equals()
e hashcode()
[1].
Hibernate è tipicamente usato sia in applicazioni Swing che Java EE facenti uso di servlet o EJB di tipo session beans.
La versione 3 di Hibernate arricchisce la piattaforma con nuove caratteristiche come una nuova architettura Interceptor/Callback, filtri definiti dall'utente, e annotazione stile JDK 5.0. Hibernate 3 è vicino anche alle specifiche di EJB 3.0 (nonostante sia stato terminato prima di EJB 3.0 le specifiche erano già state pubblicate dalla Java Community Process) ed è usato come spina dorsale per l'implementazione EJB 3.0 di JBoss.
Nel dicembre 2011 è uscita la versione 4.0, e a gennaio 2012 la versione 4.01. Nel mese di agosto 2013 è stata resa disponibile la versione 4.2.4.
Note
[modifica | modifica wikitesto]- ^ (EN) Equals and HashCode| JBoss.org Content Archive (Read Only), su developer.jboss.org. URL consultato il 17 novembre 2024.
Bibliografia
[modifica | modifica wikitesto]- Will Iverson, Hibernate: a J2EE developer's guide, Addison-Wesley, 2005, ISBN 978-0-321-26819-8.
- Christian Bauer, Gavin King: Hibernate in Action, Manning Publications Company, ISBN 1-932394-15-X
- James Elliott, Hibernate: a developer's notebook, O'Reilly, 2004, ISBN 978-0-596-00696-9.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Hibernate
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su hibernate.org.
- (EN) Hibernate, su SourceForge.
- Hibernate, su packages.debian.org.
- Repository sorgenti di Hibernate, su github.com.
- (EN) NHibernate Home Page Archiviato il 27 luglio 2008 in Internet Archive. - .NET port
- (EN) Hibernate UML Tool: DB Visual Architect, su visual-paradigm.com. URL consultato l'11 ottobre 2005 (archiviato dall'url originale il 29 marzo 2005).
- (EN) Interview with Gavin King, founder of Hibernate, su javafree.org. URL consultato l'11 ottobre 2005 (archiviato dall'url originale il 28 settembre 2007).
- (EN) Linguine Maps visualization library for Hibernate mapping files, su softwaresecretweapons.com (archiviato dall'url originale il 1º dicembre 2005).
Controllo di autorità | GND (DE) 4785089-9 |
---|