6

spring roo と appfuse の経験豊富なユーザーからのフィードバックをお待ちしています。データベース テーブルをリバース エンジニアリングし、サービス レイヤー、dao レイヤー、および jpa エンティティを生成するのに、どちらが優れていると思いますか?

私が間違っていなければ、現在 spring roo はデータベースをリバース エンジニアリングできません。

4

4 に答える 4

3

今このスレッドに出くわしたすべてのユーザーに通知するための簡単な更新 (または少なくとも今日以降:)); 新しい 1.1.0 リリースでは、Spring Roo は追加設定なしでデータベースの増分リバース エンジニアリングをサポートするようになりました。このリリースのお知らせを参照してください。

実際の質問に対するコメントとして: 実際のエンティティ生成では、どちらも他の方法よりも優れているとは思いませんが、エンティティ生成は別として、AppFuse と Spring Roo にはもちろん大きな違いがあります。実際に DAO が必要な場合、これは AppFuse ですぐに使用できるものであり、Spring Roo に部分的に配置されますが、Spring Roo 用の優れたアドオン (Hades アドオン) もあり、これでうまく機能します。 AppFuse よりも優れています。私の謙虚な意見では、AppFuse を使用する主な理由は、フロント エンドとして別の Web フレームワーク (つまり、Wicket、Tapestry または JSF) が必要な場合であり、次に Spring MVC または GWT が必要な場合です。これらは現在、Spring Roo 内で適切にサポートされている唯一の Web フレームワークです (ただし、Flex などのように、さらに追加されます)。

しかし、Eclipse (または Spring Tools Suite の方がよい) を気にせず、GWT や Spring MVC を使用したい場合は、Spring Roo をお勧めします。Spring Roo を選ぶ主な理由は、私の謙虚な意見では、より高い生産性、はるかに優れたサポート、はるかに高い勢いとアクティビティ、より短い学習曲線 (迅速な CRUD アプリ生成のため)、そしてもちろん、Rails のようなコマンド シェルから実行できることです。アプリケーションをすばやくセットアップして構成します。

Ps。私は 1 年以上 AppFuse を積極的に使用していないので、AppFuse に関する私の知識は少しさびていることに注意してください。

于 2010-12-06T19:34:17.067 に答える
2

Roo は、すばやく準備を整えるのに適しています (ラウンドトリップは素晴らしいです)。しかし、すぐに使えるサービス レイヤーの提供がないため、私のニーズは束縛されます。ドキュメントに記載されているように、 @Services アノテーションを実行してコードを適切に配置できることはわかっています(起動時の作業が多すぎます)。私は Roo がサービス + dao レイヤーを選択できるようにしてくれたらと思いました... すぐに使用できます。それは(作った)/ Rooをキラーアプリにするだろう、私見

于 2010-03-28T01:06:27.143 に答える
1

Rooでデータベースをリバースエンジニアリングすることはできません。投票できる オープンなJIRAアイテムがあります。

ただし、Eclipse Hibernateツールを使用してデータベースをリバースエンジニアリングしてから、それらのオブジェクトを変更してRooエンティティにすることもできます。しかし、それはおそらく多くの手作業を伴うでしょう。

AppFuseには、既存のデータベースからAppFuseプロジェクト全体を作成できるAppFuseMavenプラグインがあります。私が最後に言及した人がそれを機能させることができなかったと言ったので、それが現在機能しているかどうかはわかりません。

要件によっては、Grailsフレームワークを試してみることもできます。データベースからGrailsアプリケーションをリバースエンジニアリングできるGRAGというツールがあります。

于 2009-12-28T16:05:19.737 に答える
1

ROO-435の問題は、実際に最も要望の多かった機能であるため、数週間以内にSpring Rooに実装する予定です。それまでの間、Eclipse Hibernate ツールを使用して JPA アノテーション付きエンティティーを作成するという Jason の提案は、Roo と完全に互換性のある即時のソリューションです。

于 2010-01-08T20:46:43.717 に答える