Hibernate
Da Wikipedia, l'enciclopedia libera.
Hibernate (talvolta abbreviato in H8) è una piattaforma middleware open source per lo sviluppo di applicazioni Java che fornisce un servizio di Object-relational mapping (ORM), ovvero che gestisce la rappresentazione e il mantenimento su database relazionale di un sistema di oggetti Java. Hibernate è 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 J2EE.
Indice |
[modifica] Caratteristiche
Hibernate è distribuito in licenza LGPL. 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. Si occupa inoltre del reperimento degli oggetti da 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 è 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 toglie allo sviluppatore dal lavoro di recupero manuale dei dati e dalla sua conversione, mantenendo l'applicazione portabile in tutti i database SQL. Hibernate fornisce una persistenza trasparente per "Plain Old Java Object"; 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 usata sia in applicazioni Swing che J2EE facenti uso di servlets o EJB session beans.
Più tardi JBoss Group assunse il capo programmatore di Hibernate e lavorò con lui al supporto di Hibernate. Questo portò lo sviluppo di Hibernate sotto le specifiche J2EE.
La versione corrente di Hibernate è la 3, che arrichisce la piattaforma con nuove caratteristiche come una nuova archittetura 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 rilasciate dalla Java Community Process) ed è usato come spina dorsale per l'implementazione EJB 3.0 di JBoss.
[modifica] Riferimenti
- 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 1932394-15-X
- James Elliott: Hibernate: A Developer's Notebook, O'Reilly, ISBN 0-596-00696-9
[modifica] Collegamenti esterni
- Hibernate Home Page
- Hibernate Sourceforge Summary
- Hibernate UML Tool: DB Visual Architect
- Interview with Gavin King, founder of Hibernate
[modifica] Ports
- NHibernate Home Page - .NET port