Introduzione ad Hibernate

29 ottobre 2007

La programmazione orientata agli oggetti, come abbiamo visto nei precedenti articoli, ci garantisce delle opportunità di sviluppo peculiari di questo paradigma di programmazione. In particolare la possibilità di astrarre dei concetti generali, ed applicarli a diversi contesti in maniera praticamente automatizzata consente il rapido sviluppo basato su servizi già creati.

Nei precedenti due articoli abbiamo presentato un principio generale applicato ad un contesto particolare (lo sviluppo di una piattaforma per automatizzare le procedure di salvataggio su base di dati e la reflection in java) per mostrare con un esempio concreto come sia possibile realizzare l’astrazione.

Esistono tuttavia in commercio piattaforme più evolute che estendono proprio i concetti di astrazione e riusabilità portandoli a diventare basi portanti per progetti di più ampio respiro. è il caso di Hibernate, che presentiamo in questo articolo, le cui peculiarità sono la base della piattaforma di middleware per la persistenza forse più interessante in commercio (nonché la base dell’application server JBoss per la persistenza degli entity java bean).

Hibernate è uno strato di middleware che consente allo sviluppatore di automatizzare le procedure per le operazioni cosiddette CRUD (Create, Read, Update, Delete) dei database.

In ambito di sistemi informativi, in particolar modo applicati al web, questo tipo di operazioni sono quelle che più di altre portano lavoro: di codifica, di test e di debug. In particolare l’eterogeneità tra il linguaggio di programmazione utilizzato per la logica applicativa (nel nostro caso Java, ma in generale anche gli altri linguaggi) e quello utilizzato per interrogare le basi di dati relazionali (SQL, standard o dialetti derivati dalle implementazioni del database) è all’origine della difficoltà di produrre in tempi brevi prodotti affidabili.

Le pratiche di programmazione più comuni, hanno portato, nel tempo, a modelli di sviluppo che prevedono l’utilizzo dei Javabean, in particolare in ambiente web application, come oggetti contenitore di informazioni residenti su base di dati. Oggetti, che tra le altre cose ben si prestano ad essere rappresentati in fase di visualizzazione grazie ai tag delle pagine JSP.

Il successivo passo è quindi quello di avere uno strato di programmazione che si interpone tra la pagina JSP ed il database, occupandosi di popolare con le informazioni corrette proprio i javabean.

Hibernate nasce con questo scopo e si evolve fino a diventare forse la più robusta piattaforma di middleware per la persistenza attualmente presente. Il progetto, opensource da sempre, è sotto l’elgida Red Hat, che qualche tempo fa ha acquisito il progetto JBoss (di cui Hibernate è ormai colonna portante).

L’idea è quella di indicare al middleware in maniera dichiarativa (con dei descrittori testuali, xml) l’associazione tra la classe del javabean e la tabella in cui risiedono i dati. Una volta definite queste associazioni, l’infrastruttura che utilizzeremo si occuperà di recuperare dinamicamente le informazioni associate (leggendo i descrittori) e creare automaticamente le query necessarie (in base all’operazione che utilizzeremo).

Figura 1. Hibernate layer

Hibernate layer

A differenza degli entity java bean (che pure hanno una logica similare), qui dovremo chiedere esplicitamente l’operazione da svolgere (salvataggio, update, cancellazione, ecc). In realtà, la piattaforma consente di fare molto di più. Lo scopo di questo articolo è però quello di illustrare i primi passi per poter utilizzare la tecnologia, quindi vediamo come poter incominciare da subito ad utilizzare la piattaforma.

Se vuoi aggiornamenti su Introduzione ad Hibernate inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Introduzione ad Hibernate

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy