EOALModelingClasses
2007/03/30 (Fri) 22:07:46 JST
EOFはリレーショナルデータベースをERモデリング (?EntityRelationshipModeling) でオブジェクトにマッピングします。 そのためクラス名にはERの用語が使われていますが、主なクラスはリレーショナルデータベースの要素にそのまま対応しています。 モデリングに使われるクラスを以下に示します。
- ?EOModelGroup
- EOModel
- EOEntity
- EOAttribute
- EORelationship
- EOJoin
- ?EOStoredProcedure
- ?EOEntityClassDescription
EOModel
上記のクラスのうち?EOModelGroup、EOModel、?EOEntityClassDescription以外はマッピングに使われます。 マッピングの情報をまとめているのがEOModelで、そのEOModelオブジェクトを管理するのが?EOModelGroupです。 ?EOModelGroupは通常アプリケーションに1つのインスタンスが存在しており、モデリングのトップレベルにあるクラスと言えます。 エンティティや属性を知るには?EOModelGroupに問い合わせるか、?EOModelGroupからEOModelオブジェクトを取得して調べることになります。
?EOEntityClassDescription
データベースの列やリレーションシップはEOAttributeやEORelationshipとしてマッピングされますが、オブジェクトからすべての要素が使えるわけではありません。 一見何をするのかわかりにくい?EOEntityClassDescriptionは、このようなエンティティのメタ情報を管理するためのクラスです。
EOModelerを使ってモデリングするときの設定に「クラスプロパティ」という項目があります。 属性やリレーションシップをクラスプロパティとして設定すると、オブジェクトから扱えるようになります。 ?EOEntityClassDescriptionはこのような情報を管理していて、クラスプロパティの属性のみを返すメソッドやすべての属性を返すメソッドなどが実装されています。 オブジェクトを初期化するときにも?EOEntityClassDescriptionが使われます。
Inverse Pages: アクセスレイヤー