« Transfer | メイン | Model-Glue3 Gesture »

Transfer の設定

例のごとく、今までのサンプルアプリケーションを変更していく。

まずは、config/transfer/Datasource.xml から。

<datasource>
 <name>shopping</name>
 <username></username>
 <password></password>
</datasource>

ColdFusion の管理画面で、データソースを設定して、その名前を入れるだけ。

次に、config/ColdSpring.xml 。今までコメントアウトしてきたところだ。

<alias alias="ormAdapter" name="ormAdapter.Transfer" />
<alias alias="ormService" name="ormService.Transfer" />
<bean id="transferConfiguration" class="transfer.com.config.Configuration">
 <constructor-arg name="datasourcePath"><value>/shopping/config/transfer/Datasource.xml</value></constructor-arg>
 <constructor-arg name="configPath"><value>/shopping/config/transfer/Transfer.xml</value></constructor-arg>
 <constructor-arg name="definitionPath"><value>/shopping/model/data/transfer</value></constructor-arg>
</bean>

この状態でアプリケーションが動くかどうか確認してみよう。
Model-Glue デバッグの2行目に、Using ORM Adapter: com.adobe.hs.common.orm.TransferAdapter とか表示されるだろうか。
なにかエラーのようなものがなければ、OKだ。

いよいよ、Transfer の肝、config/transfer/Transfer.xml 。

<objectDefinitions>
 <package name="master">
  <!-- Category -->
  <object name="Category" table="CATEGORYMST">
   <id name="PKeyCategoryId" type="numeric" column="categoryid" />
   <property name="CategoryName" type="string" column="categoryname" />
   <onetomany name="CategoryItemLink" lazy="true">
    <link to="master.Item" column="lnkcategoryid" />
    <collection type="struct">
     <key property="ItemId" />
    </collection>
   </onetomany>
  </object>
  <!-- Item -->
  <object name="Item" table="ITEMMST" sequence="ITEMMST_itemid_seq">
   <id name="PKeyItemId" type="numeric" column="itemid" generate="false" />
   <property name="ItemName" type="string" column="itemname" />
   <property name="Price" type="numeric" column="price" />
   <manytoone name="ItemCategoryLink" lazy="true">
    <link to="master.Category" column="lnkcategoryid" />
   </manytoone>
  </object>
 </package>
</objectDefinitions>

たぶん、いきなり見ても、わからないだろう。
package は、Transfer 上での意味しかなく、テーブルをグループ化するためのもの。
object は、テーブル。id は、主キーカラム。property は、カラム。
onetomany 、manytoone 、は、他のテーブルとのリレーション設定。
これだけ把握した上で、ざっと眺めれば、なんとかわかってくるだろうか。

トラックバック

このエントリーのトラックバックURL:
http://www.schwarzmond.info/mt/mt-tb.cgi/54

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年05月07日 10:04に投稿されたエントリーのページです。

ひとつ前の投稿は「Transfer」です。

次の投稿は「Model-Glue3 Gesture」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。