Generieren von DDL für JPA 2.0 with EclipseLink
Habe ich meine model-Klassen mit JPA 2.0 annotations. Zur Laufzeit, die ich verwende EclipseLink 2.2.0, aber ich habe vorsichtig und verwenden Sie nur reines JPA-Annotationen in meinen model-Klassen.
Nun, wie Generiere ich die schema-DDL für die Datenbank ?
Will ich mit der EclipseLink-API zum generieren der DDL-aus dem Unterricht, aber nicht zur Laufzeit. Stattdessen möchte ich eine Java-Klasse auf der Kommandozeile ausgeführt und die Ausgänge des DDL. Was dieser Kerl hat für Hibernateich möchte für EclipseLink.
Würd ich auch sich für ein Ant-task oder einem plugin für Maven.
Auch, ich entschied mich für die Namen meiner Datei jpa.xml statt persistence.xml; bonus-Punkte wenn die Lösung von Konten für diese als gut. Ansonsten werde ich einfach meine Datei umbenennen persistence.xml.
InformationsquelleAutor der Frage Leonel | 2011-05-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie Ihre Antworten in der EclipseLink Dokumentation, insbesondere in dem Abschnitt genannt Mit EclipseLink JPA Extensions für eine Schema-Generierung.
Dort werden Sie finden, dass es eine Eigenschaft namens
eclipselink.ddl-generation
mit möglichen Werten wieNONE | CREATE_ONLY | DROP_AND_CREATE
.Dort finden Sie eine zusätzliche Eigenschaft mit dem Namen
eclipselink.ddl-generation.output-mode
deren Dokumentation ist in dieser gleichen Seite.Wird es Ihnen die Kontrolle darüber, ob Sie wollen, um ein Skript zu generieren, oder tatsächlich ausführen der DDL für die Datenbank.
Ich hoffe, das hilft!
InformationsquelleAutor der Antwort Edwin Dalorzo
Ich weiß, das ist ein wenig spät, aber ich habe schon zu kämpfen mit dem gleichen problem. Was ich fand, war, nachdem ich die Konfigurationen, wie das einstellen der "eclipselink.ddl-generation", dann hakte ich den folgenden code in unser build bekam ich ddl-Datei zu generieren. EntityManagerHolder Klasse zu definieren, die in Ihrem context.xml. Es ist ein bisschen hackish aber funktioniert.
InformationsquelleAutor der Antwort Randy