9

MySQL データベースと Spring をフレームワークとして使用するプロジェクトがあります。私はSpringを初めて使用し、データベースアクセスレイヤーの実装を検討しており、次のようないくつかのオプションが利用可能であることを発見しました.

  • Spring + Hibernate の使用
  • Spring JDBC テンプレートの使用
  • Spring ORM モジュールの使用

私はstackoverflowのさまざまな投稿に目を通し、Webで少し調査しましたが、すべての質問にはさまざまなオプションをサポートするさまざまな回答がありました. また、Spring JDBC テンプレートが現在推奨されていないという言及も見ました。

アプリケーションでは、1 時間あたり約 1000 のトランザクションが発生し、約 60% の読み取りと 40% の書き込みが発生する可能性があります。

3つのオプションのどれが適切で、その理由について答えを見つけるのを手伝ってくれる人はいますか? または、いくつかのリソースを教えていただければ、それも高く評価されます。

4

1 に答える 1

25

Hibernate は、Spring がサポートする多くの ORM ソリューションの 1 つにすぎません。その他はここにリストされています。

次のすべてに該当する場合は、ORM を選択できます。

  1. リレーショナル データをマップするためのしっかりしたオブジェクト モデルがありました。
  2. ORM レイヤーによって生成された SQL が気に入りました。
  3. スキーマは、ORM ソリューションの要件にうまく準拠していました。
  4. 多くのストアド プロシージャを使用していませんでした。
  5. ORM よりも SQL を最適化できるとは思いませんでした。

これらのいずれかが正しくない場合、ORM は適していない可能性があります。

Spring JDBC テンプレートは軽量でシンプルです。あなたの要求に応えられると思います。あなたの要件があなたをORMに駆り立てていることがわかるまで、それを続けることをお勧めします。典型的な Spring のイディオムに従ってインターフェースベースの永続化レイヤーを作成すると、別の実装ではなく 1 つの実装を注入することになります。

于 2012-08-07T16:57:38.580 に答える