ORMの有無にかかわらずフレームワークを使用したことで、ORMはモデルとデータベースラッパー間の抽象化の冗長レイヤーであるように思われます。
ほとんどのフレームワークには、さまざまなデータベースソフトウェア用の統一されたデータベースラッパーがあるため、ソフトウェアを変更する場合、通常はコードを変更する必要はありません。
ORMを使用する本当の理由はありますか?不必要なステップを追加しているように見えます。
ORMはオブジェクトリレーショナルマッピングです。つまり、オブジェクトとオブジェクトタイプをデータベースにマッピングしますが、必ずしもバックエンドに統一されたDAL(データベースアブストラクションレイヤー)を提供するわけではありません。したがって、ORMではなくDALを主に使用しているようです。私が働いている場所では、ORMを使用してジョブをレンダーファームにマップします。これにより、データをハードフォーム(データベース以外)に保存しなくても、任意の数のアプリケーションでこれらの同じ基本オブジェクトにアクセスできます。これは、アプリケーションに依存しない方法でデータにアクセスし、同じ形式で他の多くのアプリケーション間でデータを共有する必要がある場合に非常に役立ちます。長い間、私は知っています-これが役立つことを願っています!:)
ORMの目的は、開発者がクエリ結果セットの列をオブジェクトフィールドにマップし、変更されたデータをデータベースに保存するときに、繰り返しコードを大量に記述しないようにすることです。
言い換えれば、ORMは主に開発者の生産性を目的としています。
なぜORMを使用する必要があるのですか?も参照してください。
ORMを使用する主な理由は、非機能要件に関連しています。これは、異なるRDBMS(Oracle、MySQL、PostgreSQL)間でアプリケーションを移植し、実装の影響を減らす必要があるためです。
RDBMS間で変更する予定がない場合は、ORMは必要なく、アプリケーションの複雑さとオーバーヘッドを集約している可能性があります。