30 Stimmen

JPA-Java-Code-Generierung

Ich bin speziell auf der Suche nach einer JPA-Code-Generierungstechnik

Erstens, was sind alle Projekte, die JPA-kompatiblen Code erzeugen können? (z.B. HibernateTools)

Zweitens möchte ich auch das Dienstprogramm zur Codegenerierung anpassen, da es unseren Unternehmensstandards entsprechen muss.

Wenn nicht, was sind alle Rahmen zur Verfügung, um Java-Code mit Reflexion zu generieren? so kann ich von Grund auf zu schreiben.

Hinweis: Ich habe Eclipse verwendet, um JPA-Code zu generieren und ihn wiederholt zu überarbeiten, um ihn konform zu machen.

0voto

Auschecken JPM2java Es ist ein Code-Generator für JPA. Der einzige Haken ist, dass er keinen JPA-Code aus SQL-Dateien oder Tabellen generiert. Wenn Sie nach einem Tool suchen, um Code direkt aus Tabellen zu generieren, können Sie Netbeans ausprobieren. Es hat Optionen, um JPA-Code direkt aus Tabellen zu generieren

0voto

Frank Punkte 41

Das ideale Tool/Eclipse-Plugin für die Rückwärtsgenerierung von JPA-Code ist Hibernate Tools. Diese sind jetzt Teil der JBoss Tools. Beginnen Sie also in Ihrem Eclipse mit der Installation von JBoss Tools.

Erstellen Sie dann ein JPA-Projekt. In diesem Projekt werden alle Ihre Codes/Konfigurationen im Zusammenhang mit dem Reverse-Generation-Projekt gespeichert. Wenn Sie zuerst die JBoss Tools installieren, haben Sie den Vorteil, dass Ihre Hibernate-Konfiguration (Teil der Hibernate Tools) zusammen mit Ihrem JPA-Projekt erstellt wird.

Der nächste Schritt wäre die Verwendung der Hibernate-Tools, um Ihre JPA-POJO-Entitäten, die Ihren Datenbanktabellen entsprechen, rückwärts zu generieren.

Um die Schritte für die JPA POJO Reverse-Generierung im Detail zu verstehen, können Sie einen Blick auf das folgende Tutorial werfen... http://www.javabrahman.com/j2ee/how-to-do-reverse-code-generation-of-hibernatejpa-pojo-entities-using-jboss-tools-eclipse-plugin/

Das obige Tutorial enthält auch Links zu Tutorials für die Erstellung eines JPA-Projekts und für die Installation von JBoss Tools in Ihrer Eclipse-Installation, die beide Voraussetzungen für die Reverse-Code-Generierung von JPA POJO-Entitäten sind.

0voto

jGauravGupta Punkte 145

Grafisches Open-Source-Tool zum Generieren von JPA-Klassen, Visualisieren und Modifizieren von Datenbanken, Reverse Engineering von bestehendem Quellcode und Importieren von Modellen aus bestehenden Datenbanken.

Für NetBeans : http://jpamodeler.github.io/
Für Eclipse : https://www.eclipse.org/webtools/dali/

-1voto

Shineed Basheer Punkte 550

Bitte schauen Sie auf JOOQ.

http://www.jooq.org/

Open Source ist verfügbar .....

0 Stimmen

Was für Beispiele? Können Sie eines davon hier wiedergeben?

-5voto

cletus Punkte 596503

Ok, im Grunde genommen haben Sie die Dinge falsch herum verstanden: JPA is the generation tool .

Ich sage dies, weil das Einzige, aus dem man JPA-Entitäten generieren kann, SQL ist und der Sinn von JPA darin besteht, die Dinge andersherum zu machen. Sie definieren zuerst Ihr Objektmodell und können dann daraus Ihre Tabellen und Abfragen generieren.

Ich habe zum Beispiel gesehen, dass Projekte Hibernate verwenden, um ihre Entitäten zu definieren, und dann haben sie ein Ant-Build-Skript, das die Datenbank aus dem Hibernate-Entitätsmodell erstellt.

JPA-Entitätsdefinitionen - insbesondere mit Annotationen - sind nicht gerade schwerfällig. Sie sind wirklich Ihre beste Option als erste Sache zu tun, anstatt das Produkt von etwas anderem zu sein.

Außerdem hilft Ihnen ein anderes Tool nicht dabei, benannte Abfragen zu schreiben, die richtigen Kaskadenoptionen für Beziehungen zu definieren usw. Und wenn Sie den Code generiert hätten, wie würden Sie ihn anschließend ändern?

Das ist einfach nicht der richtige Weg.

0 Stimmen

Diese Antwort wurde heruntergestuft, weil beide Seiten des Problems akzeptabel sind und beide Kompromisse mit sich bringen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X