WARNING! This is a translated version of the English Hibernate reference documentation. The translated version might not be up to date! However, the differences should only be very minor. Consult the English reference documentation if you are missing information or encounter a translation error. If you like to contribute to a particular translation, contact us on the Hibernate developer mailing list.
Translator(s): Davide Baroncelli <baroncelli@yahoo.com>
Lavorare con linguaggi orientati agli oggetti e database relazionale negli odierni ambienti aziendali può essere difficoltoso e temporalmente impegnativo. Hibernate è uno strumento di mappaggio tra oggetti e relazioni (OR) per gli ambienti basati su java. Il termine "mappaggio oggetto-relazionale" ("object relational mapping" o ORM in inglese) si riferisce alla tecnica di creare una corrispondenza (mappare) tra una rappresentazione di dati secondo il modello a oggetti ed quella secondo il modello relazionale, con uno schema basato su SQL.
Hibernate si occupa non solo del mappaggio dalle classi Java alle tabelle della base di dati (e dai tipi di dato Java a quelli SQL), ma fornisce anche funzionalità di interrogazione e recupero dei dati (query), e può ridurre significativamente i tempi di sviluppo altrimenti impiegati in attività manuali di gestione dei dati in SQL e JDBC.
Lo scopo di Hibernate è di alleviare lo sviluppatore dal 95% dei più comuni compiti di programmazione legati alla persistenza dei dati. Hibernate può non essere la soluzione migliore per le applicazioni data-centriche che usano solo stored-procedures per implementare la logica di business nel database; è principalmente utile con modelli di dominio orientati agli oggetti in cui la logica di business sia collocata nello strato intermedio di oggetti Java (middle-tier). In ogni caso, Hibernate può aiutare senza dubbio a rimuovere o incapsulare codice SQL che sia dipendente dal particolare fornitore, e aiutare con i compiti più comuni di traduzione dei set di risultati (result set) da una rappresentazione tabellare ad un grafo di oggetti.
Se sei un principiante di Hibernate e del mappaggio OR o addirittura di Java, ti preghiamo di seguire questi passi:
Leggi Capitolo 1, Primi passi con Tomcat: è un'introduzione di mezz'ora che usa Tomcat.
Leggi Capitolo 2, Architettura per capire in quali contesti Hibernate può essere usato.
Dai un'occhiata alla cartella eg/ nella distribuzione di Hibernate, contiene una semplice applicazione "standalone". Copia il tuo driver JDBC nella cartella lib/ e modifica src/hibernate.properties, specificando valori corretti per il tuo database. Da una finestra di terminale aperta nella cartella di distribuzione digita ant eg (usando Ant) o, se in Windows, digita build eg.
Usa questa documentazione di riferimento come la tua fonte principale di informazioni.
Sul sito di Hibernate è possibile trovare le risposte alle domande più frequenti (FAQ)
Sempre sul sito, è possibile trovare esempi, demo di terze parti e tutorial.
L'area di community sul sito di Hibernate è una buona fonte di pattern di design e varie soluzioni di utilizzo integrato di Hibernate (con Tomcat, Jboss, Spring, Struts, EJB, ecc.).
Se hai domande, usa il forum di cui trovi il link sul sito di Hibernate. È anche disponibile un sistema di "issue tracking" (tracciamento dei problemi) JIRA per segnalare bachi e richiedere funzionalità. Se sei interessato nello sviluppo di Hibernate, iscriviti alla mailing list degli sviluppatori.
Sono disponibili contratti di sviluppo su base commerciale, supporto per sistemi in produzione e formazione su Hibernate tramite il JBoss Inc. (vedi http://www.hibernate.org/SupportTraining/). Hibernate è un progetto della suite di prodotti "JBoss Professional Open Source".