• introduzione-hibernate

    Introduzione a Hibernate

    In questo articolo faremo una panoramica del framework Hibernate.

    Che cos’è Hibernate

    Hibernate è un framework open source (disponibile attraverso la licenza GNU) che semplifica l’uso dei database relazionali nelle applicazioni Java presentando i dati relazionali come oggetti ordinari (non speciali) di Java, cioè dei POJO (Plain Old Java Object), accessibili dalle applicazioni attraverso un session manager. Ad Hibernate ci si riferisce come uno strumento di mappatura relazionale degli oggetti (ORM, Object Relational Mapping), poiché i programmatori Java sono abituati a lavorare con gli oggetti e non con le tabelle; Hibernate semplifica il lavoro ai programmatori Java, evitando loro di occuparsi dei dettagli di accesso al database, e consente loro di lavorare su qualcosa di familiare come gli oggetti Java.

    Object-Relational-Mapping

    Relativamente alla gestione della persistenza di un’applicazione, un tool come Hibernate in teoria aumenta la produttività del programmatore, perché rende più facile l’accesso al database utilizzando funzioni di gestione degli oggetti di alto livello.

     

    Hibernate e Java

    In un processo legato allo sviluppo di un’applicazione Java con persistenza, vediamo dove si colloca Hibernate.

    hibernate-java-database

    In cima, abbiamo l’applicazione Java che deve connettersi ai dati presenti nel database. Quindi proprio sotto l’applicazione Java c’è Hibernate, che configura l’interazione con il database, crea una Session Factory che consente di creare sessioni con il database. Hibernate consente di creare transazioni, che sono molto importanti quando si ha a che fare con i database. Se e quando si verifica qualche problema, occorre ripristinare le modifiche in modo da non avere alcuna inconsistenza dei dati. Hibernate rende disponibili diverse modalità per interrogare il database, compresi i Criteria. Infine Hibernate si colloca tra l’applicazione Java e JDBC, l’API di Java per la connettività al database.

    Cosa fa Hibernate

    Di seguito un elenco di quello che fa Hibernate:

    • si occupa della mappatura e della configurazione necessarie per accedere al database;
    • nasconde i dettagli relativi al database relazionale sottostante e permette al programmatore di concentrarsi sulla logica di business (e non dello schema del database);
    • fornisce operazioni di ricerca e recupero dati;
    • genera la sintassi SQL necessaria per accedere al database;
    • formatta i risultati in oggetti Java, invece di un set di risultati SQL, che per un programmatore sono più  semplici da capire e utilizzare all’interno dell’applicazione;
    • effettua la mappatura tra gli oggetti Java e le entità relazionali del database.

    La progettazione delle tabelle di un database è molto diverso dalla realizzazione degli oggetti Java: questo è il motivo per cui Hibernate rende così facile lavorare con i dati attraverso gli oggetti Java invece di trattare direttamente con le tabelle.

     

    Vantaggi nell’uso di Hibernate

    Di seguito un elenco dei vantaggi nell’utilizzo di Hibernate:

    • Hibernate si occupa di mappare gli oggetti Java alle tabelle del database utilizzando i file XML e le annotation senza scrivere alcuna riga di codice;
    • fornisce API molto semplici per il ripristino e il recupero di oggetti Java direttamente da e verso il database;
    • se c’è una modifica in una tabella dello schema del database, è sufficiente modificare le proprietà del file XML (o dell’annotation alla classe);
    • gestisce complesse associazioni di oggetti;
    • consente un accesso al database minimo con strategie di recupero intelligente e fornisce una ricerca semplice dei dati;
    • supporta la maggior parte dei database relazionali (HQL, DB2, MySQL, Oracle, FrontBase, Microsoft SQL Server, PostgreSQL, etc …).

     

     

    In un successivo articolo dal titolo Primi passi con Hibernate vedremo un esempio di utilizzo del framework Hibernate con Java.

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">