2009-12-26 16 views
6

Ich bin auf der Suche nach Rückmeldungen von erfahrenen Benutzern auf Frühling Roo und appfuse. Was ist Ihrer Meinung nach eine bessere Aufgabe, um Datenbanktabellen zurückzuentwickeln und eine Service-Schicht, Dao-Schicht und jpa-Einheiten zu generieren?frühling roo vs appfuse generieren service/dao layer

Wenn ich mich nicht irre, kann Spring Roo derzeit keine Datenbank zurückentwickeln.

Antwort

1

Sie haben Recht, dass Sie eine Datenbank in Roo nicht zurückentwickeln können. Es gibt an open JIRA item for this, die Sie wählen können.

Sie könnten jedoch versuchen, die Eclipse Hibernate tools zu verwenden, um Ihre Datenbank rückzuentwickeln, und dann diese Objekte ändern, um sie zu Roo Entities zu machen. Das würde allerdings viel manuelle Arbeit erfordern.

Für AppFuse gibt es die AppFuse Maven plugin, die das gesamte AppFuse-Projekt für Sie aus einer vorhandenen Datenbank erstellen kann. Ich bin mir nicht sicher, ob es zur Zeit funktioniert, weil die letzte Person, von der ich es erwähnt habe, gesagt hat, sie könne es nicht funktionieren lassen.

Je nach Ihren Anforderungen können Sie auch die Grails framework ausprobieren. Es gibt ein Tool namens GRAG, das eine Grails-Anwendung aus einer Datenbank zurückentwickeln kann.

1

Das ROO-435 Problem ist eigentlich unser am meisten angefordertes Feature, also werde ich das in den nächsten Wochen in Spring Roo implementieren. In der Zwischenzeit ist Jasons Vorschlag, die Eclipse-Hibernate-Tools zum Erstellen JPA-annotierter Entitäten zu verwenden, eine sofortige Lösung, die vollständig Roo-kompatibel ist.

2

Roo ist gut, um Sachen schnell aufzustellen (Roundtriping ist erstaunlich) .. aber das Fehlen von Out-of-the-Box bietet für einen Service-Layer bringt meine Bedürfnisse in eine Bindung. Ich weiß, dass ich @Services Annotation machen und Code entsprechend der Dokumentation einfügen kann (zu viel Arbeit beim Start). Ich wünschte, Roo hätte mir die Wahl gegeben, eine Service + Dao-Schicht zu haben ... out-of-the-box. Das hätte (machen)/machen Roo eine Killer-App, imho

3

Nur ein kurzes Update, um alle Benutzer zu informieren, die stolpern über diesen Thread jetzt (oder zumindest nach dem heutigen :)); Mit der neuen Version 1.1.0 unterstützt Spring Roo jetzt inkrementelles Reverse Engineering von Datenbanken. Siehe diese Version annoucement.

Als Kommentar zu der eigentlichen Frage: Ich glaube nicht, dass eine der beiden ist viel besser als die andere in der tatsächlichen Entity Generation, aber es gibt einen großen Unterschied natürlich zwischen AppFuse und Spring Roo neben der Entität Generation. Wenn du DAO's brauchst, ist das etwas, das in AppFuse out-of-the-box kommt und teilweise in Spring Roo eingebaut wird, aber es gibt auch ein tolles Addon für Spring Roo (Hades Addon), das vielleicht eine großartige Arbeit leistet noch besser als AppFuse. Der Hauptgrund für AppFuse, meiner bescheidenen Meinung nach, ist, wenn Sie ein anderes Web-Framework (zB Wicket. Tapestry oder JSF) als Front-End dann Spring MVC oder GWT benötigen, da dies derzeit die einzigen gut unterstützten Web-Frameworks in Spring Roo sind. mehr kommen, wie Flex usw.). Ein weiterer Grund, warum Sie AppFuse verwenden möchten, ist, wenn Sie eine IDE mit voller Intellisense- und Code-Completion-Unterstützung verwenden möchten, aber nicht Eclipse verwenden möchten (Sie können andere IDEs verwenden und Build funktioniert perfekt mit Spring Roo, aber fällig zu den AspectJ-Dateien, die von Netbeans nicht erkannt werden, machen andere IDEs als Eclipse derzeit keine Code-Vervollständigung für die Spring Roo generierten/verwalteten Dateien.

Aber wenn Sie nichts gegen Eclipse (oder besser noch die Spring Tools Suite) und möchten GWT und/oder Spring MVC verwenden, würde ich Spring Roo empfehlen.Die Hauptgründe für Spring Roo sind, meiner bescheidenen Meinung nach, höhere Produktivität, weit bessere Unterstützung, weit höhere Dynamik und Aktivität, niedrigere Lernkurve (für schnelle CRUD App-Generierung) und natürlich die Rails-ähnliche Kommando-Shell, aus der Sie können schnell einrichten und konfigurieren Sie Ihre Anwendung.

Ps. Beachten Sie, dass ich AppFuse seit mehr als einem Jahr nicht mehr aktiv nutze. Daher ist mein Wissen über AppFuse ein wenig eingerostet.

Verwandte Themen