La base dalla quale parte questo post è che usiate
Maven e
JPA Annotation per la vostra applicazione. Se il vostro cruccio è quello di vedere in faccia le tabelle che saranno generate niente di meglio che usare un plug in molto utile e ben rodato
hibernate3-maven-plugin.
Aprite il vostro file pom.xml e nella sezione <profiles> inserite questo pezzo di xml:
N.B.
acmePU dovrà contenere il nome che avete dato alla vostra persistenceunit nel file persistence.xml.
Fatto questo per automatizzare il più possibile questo script c'e' la possibilità di aggiungere un profilo per ogni database per il quale si vuole generare l'sql. Io ve ne fornisco un paio. Sempre nella sezione <profiles> del pom.xml inserire:
Fatto! Ora per lanciare la generazione basterà scrivere a riga di comando:
Naturalmente l'esempio è per mysql ma voi potrete usare quello che più vi aggrada. Se non avete voglia di scrivere, vi fornisco il target ant che potrà fare il lavoro al posto vostro:
Buon Lavoro
Aggiornamento: Settembre 2012.
Potrebbe accadere che a causa della configurazione di qualche nostra JPA annotation il plug in ci dia il seguente errore:
Questo accade quando espicitamente configuriamo un array di
javax.persistence.CascadeType nelle nostre annotazioni:
Il motivo di questo errore è che quando Maven avvia il goal hbm2ddl CascadeType non è nel classpath del plugin. Per ovviare a questo inconveniente basta modificare la definizione del plugin ed aggiungere la dipendenza alle librerie di jpa2.
Allora modificarela in questo modo:
Nessun commento:
Posta un commento