lunedì 11 giugno 2007

Upgrade "pulito" di un database "sporco" con hibernate

Interessante articolo, almeno dal punto di vista strettamente pratico, sul come aggiornare la struttura di un database legacy, o comunque esistente e non modificabile, usando Hibernate e qualche altra strategia da db admin.

Lo scenario di partenza è quello in cui si opera, usualmente, sia nell'ambito dei system integrator che durante l'evoluzione naturale di un software.

Quindi, supponete di avere un database, non normalizzato,
ricco delle solite porcate generate da evoluzioni incontrollate "perchè le ha chieste il cliente".

Inoltre, supponete che al database accedano anche altre applicazioni che non potete modificare.

Infine, supponete di voler costruire una nuova applicazione bella bellina, tutta perfettina che vuole uno schema normalizzato e che tanto desidera usare Hibernate per l'accesso al database.

Bene questo articolo è esattamente quello che fa per voi.

L'approccio usato è un misto di viste ausiliare, stored procedure e mappature Hibernate sulle stored procedure.

Quello che otterrete alla fine è ben esplicitato da questo disegnino.



Volendo si potrebbe anche arguire che la logica di normalizzazione si poteva spostare in uno strato DAO, magari gestito da EJB3, ma comunque l'esempio è molto carino e pragmatico.

Consigliato per tutti quelli che hanno a che fare quotidianamente con "il vecchio database" o con "quello schifo di database del gestionale xyz".