High-Performance Java Persistence – recensione

High-Performance Java Persistence – recensione

Ho appena finito di leggere, anzi, di divorare, il libro “High-Performance Java Persistence” di Vlad Mihalcea. Molte recensioni positive mi hanno spinto ad acquistarlo, nella versione cartacea attraverso Amazon, ma non mi aspettavo un testo al contempo così pragmatico, accessibile, dettagliato, scientifico ed in certi punti anche illuminante.

L’autore, che tra l’altro è uno degli sviluppatori di Hibernate, in questo testo analizza i molteplici fattori che influenzano le performance del layer di persistenza dei dati in una applicazione Java. Per farlo suddivide la trattazione in tre sezioni. La prima è dedicata allo standard JDBC e contiene approfondimenti, tra l’altro, sui pool di connessione, sull’esecuzione di statement SQL in modalità batch e sulla gestione delle transazioni.

La seconda parte è dedicata allo standard JPA e ad Hibernate e segue un approccio piuttosto originale nella trattazione dei diversi aspetti di queste tecnologie. Infatti, l’autore non si limita a descrivere il significato delle diverse annotazioni e funzionalità. Al contrario, tutti gli aspetti e le alternative possibili vendono valutate in funzione degli statement SQL che il provider JPA invierà al DB.

La terza parte, la più breve, è dedicata a JOOQ, uno strumento per la generazione di statement SQL a partire da una semplice sintassi Java. Questo testo mi ha permesso di apprezzare la valenza ed inquadrare il contesto di applicazione di questo ottimo layer che confesso di aver ingiustamente trascurato.

Lungo tutta la trattazione, l’autore aiuta il lettore a non perde mai di vista due aspetti: la valenza, in termini di performance misurate in contesti reali, dell’argomento di volta in volta tratto, nonché il diverso comportamento dei diversi RDBMS, in particolare di Oracle, Microsoft SQL Server, PostgreSQL e MySQL.

Un’altra caratteristica che ho molto apprezzato del testo è la disinvoltura con cui l’autore spiega il perché di determinati comportamenti dei sistemi analizzati, scendendo sino ai dettagli più tecnici e nascosti, senza però rendere criptica la trattazione e ostica la lettura. Il teso infatti, nonostante le sue 468 pagine, è scritto in un inglese semplice e scorrevole, e si presta ad una agevola lettura, sempre che il lettore abbia già un minimo di basi sugli argomenti trattati.

Non si tratta quindi di un testo per principianti ma piuttosto di un libro per chi già lavora con Java ed i database SQL e vuole maturare una maggiore consapevolezza sugli argomenti trattati.