Nhibernate-orm

提供:Dev Guides
移動先:案内検索

NHibernate - ORM

NHibernateを実際に使い始める前に、NHibernateが構築されている基盤を理解する必要があります。 NHibernateは、オブジェクトリレーショナルマッピングまたはORMの概念に基づいた永続化テクノロジです。

ORMとは何ですか?

オブジェクトリレーショナルマッピング(ORM)は、オブジェクト指向プログラミング言語の互換性のない型システム間でデータを変換するための*プログラミングテクニック*です。 つまり、アプリケーションのビジネスオブジェクトをリレーショナルデータベーステーブルにマッピングする概念であり、アプリケーションのオブジェクトモデルを介してデータに簡単にアクセスし、更新することができます。

  • リレーショナルデータベースはデータを格納するための優れた手段を提供することを既にご存じのとおり、オブジェクト指向プログラミングは複雑なアプリケーションを構築するための優れたアプローチです。
  • NHibernateとORMは一般に、重要なビジネスロジック、ドメインモデル、何らかのデータベースを備えたアプリケーションに最も関連しています。
  • ORMを使用すると、オブジェクトをリレーショナルデータに簡単に変換したり、元に戻したりできる変換レイヤーを簡単に作成できます。
  • 頭字語ORMはオブジェクトロールモデリングを意味することもあり、この用語はオブジェクト/リレーショナルマッピングが関連する前に発明されました。
  • データベースモデリングで使用される情報分析の方法について説明します。

ORMを選ぶ理由

ORMは、オブジェクト指向言語で見つかったオブジェクトの世界を、リレーショナルデータベースで見つかったリレーショナルテーブルの行にマッピングできる*フレームワーク*です。

この概念を理解するために、次の図を見てみましょう。

従業員

  • 上の図では、個々の従業員に関連付けられた各データの列を含むEmployeeというテーブルが右側にあることがわかります。
  • 各従業員を一意に識別するIDの列があります。
  • 従業員の名前の列、参加日の別の列、最後に従業員の年齢の列。
  • テーブルに新しい従業員を格納するコードを作成したい場合、それはそれほど簡単ではありません。
  • 上の図では、Id、名前、加入日、年齢のフィールドを持つ従業員オブジェクトがあることもわかります。
  • ORMがなければ、このオブジェクトを、従業員データを従業員テーブルに挿入するいくつかの異なるSQLステートメントに変換する必要があります。
  • したがって、上記のシナリオを実行するSQLを作成するコードを作成するのはそれほど難しくありませんが、少し面倒で、間違いを犯しやすいです。
  • NHibernateのようなORMを使用して、特定のクラスをリレーショナルテーブルにマップする方法を宣言し、ORMまたはNHibernateが従業員テーブルのクエリデータに挿入、更新、削除するSQLを作成するという厄介な仕事を処理できるようにします。
  • これにより、コードをオブジェクトの使用に集中させ、それらのオブジェクトをリレーショナルテーブルに自動的に変換できます。
  • ORMが実際に行うことは、オブジェクトをテーブルに手動でマップする必要がなくなることです。