Hibernate

Hibernate
software
Logo
Logo
GenereRelational database management system
SviluppatoreJBoss (Red Hat)
Data prima versione2001
Ultima versione
  • 6.2.6 (30 giugno 2023)
  • 6.4.4 (8 febbraio 2024)
Sistema operativoMultipiattaforma
LinguaggioJava
LicenzaGNU Lesser General Public License
(licenza libera)
Sito webhibernate.org/
Modifica dati su Wikidata · Manuale

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

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 "ibernato" (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 (Java's metadata feature). 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

  1. ^ Sito di Hibernate

Bibliografia

  • Will Iverson: Hibernate: A J2EE Developer's Guide, Addison Wesley Professional, ISBN 0-321-26819-9
  • Christian Bauer, Gavin King: Hibernate in Action, Manning Publications Company, ISBN 1-932394-15-X
  • James Elliott: Hibernate: A Developer's Notebook, O'Reilly, ISBN 0-596-00696-9

Voci correlate

Altri progetti

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Hibernate

Collegamenti esterni

  • (EN) Sito ufficiale, su hibernate.org. Modifica su Wikidata
  • (EN) Hibernate, su SourceForge. Modifica su Wikidata
  • Hibernate, su packages.debian.org. Modifica su Wikidata
  • Repository sorgenti di Hibernate, su github.com. Modifica su Wikidata
  • (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
  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero