mercoledì 8 aprile 2009

Perchè Hibernate scrive nel mio DB?

Ora, farsi una domanda del genere denota una certa confusione sugli strumenti che si stanno usando, ma questo bel post dice ben altro: Hibernate gestisce ottimamente la persistenza automatica dei propri dati, però ci sono dei casi in cui la scrittura avviene inaspettatamente. Per esempio il punto 2 dell'articolo, ovvero quando si esegue una query (in HQL chiaramente). In tal caso, se Hibernate si rende conto che la query coinvolge tabelle le cui modifiche sono ancora in cache, la scarica, ovvero la scrive.
E' ovvio, ma sono di quelle cose che diventano ovvie solo dopo esserci passato (e io lo fui).
Un concetto sottinteso che mi sento di ribadire è: Hibernate è una bestia, chi si lamenta perchè tenta di utilizzarlo in una rubrica telefonica dovrebbe capire che sta solo subendo gli svantaggi senza fruirne i vantaggi.
Gli ORM cominciano a diventare vantaggiosi quando il dominio raggiunge il centinaio di entità, giusto per dare un'idea.

Per problematiche più piccole, io mi sono trovato bene con BeanKeeper, ma ce ne sono altri (che non conosco).

Nessun commento: