メソッドでマッピングされたデータにアクセスし出力しています。連想させず、とても自然なところです。ただのアトリビュートとメソッドを持つ普通のクラスにしか見えません。「クラスもオブジェクト」という特性を活かした優れた設計だと思います。見てみたいと思います。属性が加わっています。後にオブジェクトにキーの値を詰め直す為の関数を記入します。その他追加された要素を説明します。relationリレーション情報枠です。one_to_many1対多のリレーションを定義します。リレーション先のキー値を表します。many_to_many多対多のリレーションを定義します。以外も定義しなければなりません。要素は中間テーブルからターゲットテーブルを得る時のキーです。為の特別な記法はありませんので、1対多の記法で代用しています。それではコードの方を見てみましょう。代用することが出来ます。データの取得自体は最初の例で挙げた物と変わりません。配列の最初の要素を明示的に指定しています。1対多のリレーションです。オブジェクトを新規に作り直して使用していますが気にしないで下さい。結果の確認のため別コンテキストで実行しています。テーブルのデータを取得できていますね。データにアクセス出来ています。オブジェクトと同様に生成しています。メソッドを定義してコンストラクタによって各アトリビュートの値を埋めることも出来ます。メソッドによって作成されたオブジェクトは引数とされたクラスのマッピング情報を保持しています。ついては特に説明する必要は無いでしょう。参照系はまったく不都合ありません。ストレス無く使用できる良いライブラリではないでしょうか。行でここまでのものが出来ることに感動しました。マッピングの情報を記述します。対応しているものならば概ね動くようです。単純な興味から作りました。理解も兼ねてとりかかりました。特徴は「変更を管理するオブジェクト」を通してオブジェクトを操作する点にあります。使った作業サイクルを思い浮かべてみてください。リポジトリから作業用コピーを取得し、その中で作業します。作業内容をコミットするまでソースコードには何も影響せず、気に入らなければ作業コピーを捨てても構いません。データベースから取得したオブジェクトが「編集コンテキスト」という作業用コピーにあたるオブジェクトによって管理されます。データベースへの問い合わせ、更新などの作業はすべてこのオブジェクトを通して行います。対になっているわけではなく、あくまで汎用的なライブラリとして使えるように開発を続ける予定です。特徴を簡潔に述べて頂いて助かりました。独特の世界にも戸惑わないでしょう。マッピング定義であるモデルファイルを記述します。直接リレーション等の情報を読み取って生成することが出来ます。何れかを指定できます。DBIの接続文字列のものとは違うということです。いう文字列を与えなければなりません。大文字小文字も区別しますので注意してください。DBIの接続文字列を入力します。接続するユーザーとパスワードを入力してください。プロンプトでモデルファイルに書き出すテーブルをカンマ区切りで指定しますが、この時、空白を入れてはいけません。テーブルとみなされて出力されてしまいます。選択すると、データベースユーザーがアクセスできるテーブルが全て出力されるので、データベースユーザーに大きな権限を与えている場合はアプリケーションで使用するテーブル名だけを指定したほうが良いでしょう。コマンドは設定ファイル自動生成してくれますが、未だ発展途上のようで、精度は今回のサンプルを用いた限りではイマイチです。キーとなるものとして出力されていました。現段階では雛形として利用するのが良さそうです。単純な参照を行ってみましょう。各要素について解説します。つのセクションがあります。対応するアダプターを指定します。接続に関するセクションです。entitiesエンティティ(テーブル)に関するセクションです。セクションでは以下の情報を記述します。接続文字列を記入します。アクセスするユーザー名を指定します。アクセスするユーザーのパスワードを使用します。セクションでは以下の設定が並びます。アクセスする際のエンティティ名です。作成するオブジェクトの継承元クラスです。コード側から使用するアトリビュートのリストを記入します。コードから触ることはできません。attributes各カラム情報を記入するカテゴリです。primary_key_attributesプライマリキーを指定します。以下のデータを記述します。コード側から使用する際の名前です。column_nameテーブルのカラム名です。