実際、hibernate は優れた ORM ツールです。しかし、それはそこで止まります!
コード スミスの機能は、単なるリレーショナル マッピング スタッフ以上のものになる可能性があります。コード スミスを使用して、いくつかの UI フォーム、ビジネス レイヤー (テンプレート)、データ アクセス レイヤー、パターンなどを生成します。しかし、コード スミスと連携するには、システム設計の経験が必要な場合や、私が好まないテンプレートを使用する必要がある場合がありますが、例としては気に入っています。
コード スミスのアプローチには、1 つの特別な欠点があります。最初にデータベースの実装を考慮してシステムを設計する必要があります。今日、オブジェクト分析アプローチでは、人々はデータベース実装の直前にビジネス ロジックとエンティティを実装することに成功しています。彼らはこれを忘れています。
決断は難しいです。私は、Scott W. Ambler、Kent beck、Robert C. Martin などの重要な人物や、開発をスピードアップするために ORM ツールを推奨する The Pragmatic Programmers シリーズの人々を常に読んでいます。彼らによると、ORM ツールの開発者はすべてのデータベースの問題 (プーリング、接続、データベース ベンダーの仕様など) に関心を持っています。したがって、データ アクセス層を設計する必要がある場合は、これらすべての側面も考慮する必要があります。
これらの ORM ツールには過負荷が伴うと思います。これらのツールが低予算のプロジェクトでどのように動作するかはまだわかりません (ホスティング サーバーや共有リソースが良くないという意味です)。私は、経験の浅い開発者が愛するツールを広めようとする際に、このことを考慮に入れていないのを見てきました。しかし、Java プロジェクトでは、hibernate はすでに広く普及しているよく知られたツールです。このテクノロジーを使用して優れたプロジェクトが提供されていることは間違いありませんが、Java 開発者が私たち (.net 開発者) に優れたソリューションの構築方法を教えなければならない人を何度も見てきました。(申し訳ありませんが、認めざるを得ません。)
私がお勧めする唯一のことは、あなたの文脈を考慮することです. 新体制やってんの?あなたはパターンで仕事が必要ですか?このようなコード ジェネレーターと ORM ツールをまとめて検討したことがありますか?
データ アクセス レイヤーだけでなく、ソリューション全体を一度に生成するため、コード スミスを好みます。コード生成は非常に重要であり、Microsoft が Visual Studio.net 2008 などでコード スミスのアプローチを模倣したことは少なくありません。
幸運を