0

私はJava EEアプリケーションに取り組んでおり、Springをフレームワークとして使用しています。ORM フレームワーク (Hibernate/JPA/iBatis...) について話している人を見てきましたが、これらのフレームワークを使用する理由がわかりません。

プロジェクトの機能とパフォーマンスにおいて、これらのフレームワークは何を変更するのでしょうか?

明確な例を教えていただければ、それは素晴らしいことです。

4

2 に答える 2

0

Java オブジェクト全体に対して SQL の挿入/更新/選択ステートメントを作成することに飽きてしまい、オブジェクトが変更されたときにオブジェクト <-> SQL コードを適切な状態に保つためです。JPA は、実際には Java EE 標準の一部です。

ただし、非常に単純な場合を除いて、データベースで何をしているのかを知ることを妨げる手段は提供しません。私の経験では、どの JPA フレームワークも、パフォーマンスの問題の追跡とデバッグにさらに複雑なレイヤーを追加するだけです。

最後に、JPA プロバイダー (OpenJPA、HIbernate、Eclipse リンクなど) とデータベース実装のすべての組み合わせについて、JPQL (JPA の SQL っぽい構文) がどのように SQL に変換されるかを理解する必要があるかもしれません。これは自明ではありません。

特定のパフォーマンス要件がなく、簡単なオブジェクトの永続化が必要な場合は、ぜひお試しください。Hibernate は最先端の ATM のようです。

于 2012-05-17T21:14:18.050 に答える
0

すべてに対して独自の SQL を作成することを避け、[部分的に] オブジェクト リレーショナルの隔たり (「深淵」) を橋渡しします。

単純な要件の場合、ORM は優れており、一部の DB について考える必要がなくなります。ただし、重大なパフォーマンスへの影響を防ぐために、DB 側で実際に何が起こっているかを認識しておく必要があります。

複雑な要件については、ORM が「コンピューター サイエンスのベトナム」と呼ばれる理由を理解することができます... 「ベトナムの教訓を学びました... ベトナムに行かないでください。」

于 2012-05-17T14:23:24.900 に答える