Ho valutato la tua risposta, di fatto mi dici che non c'è una soluzione assoluta; mi sono quindi ritenuto libero di compiere le mie valutazioni in base a fattori diversi. Ad esempio, ho guardato le dimensioni dei vari pacchetti di Hibernate rispetto alle dimensioni attuali della mia applicazione: enormi. Tutti i pacchetti che mi sarebbero stati utili avrebbero aumentato le dimensioni della mia applicazione di circa 5 volte.

Mi trovo quindi di fronte a due scelte: la prima, usando Hibernate e portando il Model nell'applicazione, appesantire enormemente l'applicazione stessa per disporre di funzioni che, pur gestite in modo diverso, avrei comunque. La seconda, alleggerire non di poco il carico di lavoro visto che ad esempio la mia applicazione non dovrebbe più trasmettere al db le informazioni sulle query, che risiederebbero nello stesso db.

Sceglierò la seconda soluzione, e sfrutterò a fondo le possibilità offerte dal db. Per tutto quello che riguarda visualizzazioni utilizzerò le viste, un pò più veloci delle stored procedure; userò invece queste ultime per tutte le altre operazioni.

Manterrò la portabilità del mio progetto su diversi motori db, creando alcuni script diversi per i più diffusi db (a questo punto non si può più pensare di realizzare un unico script per qualsiasi motore db, fosse solo per i diversi linguaggi usati nelle stored procedure); la mia applicazione invece sarà sempre la stessa, visto che cambiando db cambia la sintassi interna ma non certo quella della mia applicazione per richiamare i vari oggetti in esso contenuti.

Mi ritengo soddisfatto della tua risposta, che ha aperto la strada a tutte queste riflessioni. Il quesito si può considerare concluso.