Reverse Engineering DDL von JPA-Entitäten
Ich bin Herumspielen mit einigen JPA-Zeug, das ändern des mappings zu sehen, wie Sie sein soll etc. Es ist grundlegende Experimente. Aber ich kann nicht finden, ein tool, das Lesen Sie einfach meine Entitäten und erstellen Sie dann die Tabelle schema für mich. Ich habe versucht, etwas zu finden, wie diese im JBoss-tools, aber nada. Eclipse-integration ein großes plus, aber ich nehme ein Kommandozeilen-tool oder einen ant-task.
Irgendwelche Ideen?
InformationsquelleAutor der Frage Gaurav | 2009-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass es eine Universelle Art und Weise, dies zu tun mit JPA, Sie müssen direkt verwenden Sie die zugrunde liegenden JPA-Implementierung zu erreichen.
Für Hibernategibt es mehrere Möglichkeiten:
hbm2ddl
automatisch.Für EclipseLink (ehemals Oracle TopLink, JPA 2.0 RI) siehe Mit EclipseLink JPA Extensions für eine Schema-Generierung. Im Prinzip ist es sehr ähnlich zu Überwintern, obwohl auf den ersten Blick sehe ich nichts, dass könnte verwendet werden, als stand-alone-Dienstprogramm zum erstellen einer DB-Skript.
Anderen JPA-Implementierungen (BEA/Oracle Kodo, Apache OpenJPA) haben vermutlich Ihre eigenen spezifischen Methoden, dies zu erreichen.
InformationsquelleAutor der Antwort andri
Versuchen Sie, den folgenden zu Ihrem persistence.xml
Für Hibernate:
Erstellen:
Löschen und erstellen:
Für Toplink:
Erstellen:
Löschen und erstellen:
Für EclipseLink:
Erstellen:
Löschen und erstellen:
InformationsquelleAutor der Antwort James McMahon
Wenn ich mit Hibernate habe ich einfach fügen Sie diese auf meine config-Datei:
Kümmert sich um alles. Ich bin mir nicht sicher, was das äquivalent ist für JPA, aber es ist so stark beeinflusst durch Hibernate, dass ich überrascht sein würde, wenn Sie nicht finden konnte etwas ähnliches.
Kein Werkzeug benötigt. Ich in der Regel einfach ausführen einer einfachen JUnit-test und die Datenbank wird angelegt für mich.
InformationsquelleAutor der Antwort duffymo
Verwende ich Hibernate ist
org.hibernate.tool.hbm2ddl.SchemaExport
Klasse und diese kleine Methode, umgenerieren, die das schema in der Datenbank:
erstellen der DDL in einer externen Datei verwenden Sie diesen Aufruf, um
execute
.Gilt es als schlechte form zu setzen "hibernate.hbm2ddl.auto" auf "update", da automatisch die änderung der Produktions-Datenbank kann es brechen. Für eine Erklärung, finden Sie unter Hibernate hbm2ddl.auto-Werte möglich sind und was Sie tun?.
InformationsquelleAutor der Antwort Randy Stegbauer
Durch maven-plugin:
InformationsquelleAutor der Antwort sendon1982
DataNucleus hat seine eigene SchemaTool fähig ist, das schema, oder das generieren der erforderlichen DDL-Anweisungen für Sie, sich anzupassen und dich bewerben.
--Andy (DataNucleus)
InformationsquelleAutor der Antwort DataNucleus
Hinzufügen, um die Liste der James McMahon:
Für OpenJPA:
InformationsquelleAutor der Antwort Arjan Tijms
Antonio Goncalves sagt in seinem blog über API um das schema zu generieren.
In JPA 2.1 generateSchema Methode eingeführt wurde, für diesen Zweck.
Beispiel aus dem blog:
InformationsquelleAutor der Antwort cybersoft