このガイドについて

このTorqueユーザーズガイドは、Torqueをプロジェクトに導入して、アプリケーションオブジェクトに永続性の手段を提供しようとしている人たちを助けるためのものです。

Torqueのディレクトリ構成

ここではTorqueのディレクトリ構成がどのようになっているかを記述します。 スタンドアロンとTDKではわずかに異なりますが、 それは気にするほどのものではありません。

torque/
    lib/              <--  Torqueに必要なJarファイル (スタンドアロン版)
    schema/           <--- プロジェクト固有のデータベース定義を記述したXML
    templates/        <--- ソース生成に使用されるVelocity用テンプレート
    src/              <--- 出力対象となるディレクトリ (スタンドアロン版)

    build-torque.xml  <--- TorqueをコントロールするAnt用ビルドファイル
                           (他のプロジェクトのbuild.xmlから使用されるのが容易となるように、
                            ファイル名はbuild.xmlにはしませんでした)
    build.properties  <--- Torqueの振る舞いをコントロールするプロパティファイル

Torqueを使用するユーザは、ベースディレクトリのbuild.properties、 およびschemaディレクトリのproject-schema.xmlのみ編集する必要があります。 Torqueを使用するための、これらのファイルやいくつかのオプションについて簡単に紹介します。

クイックスタートガイド

Torqueを動作させるためにしなければならないことは、 build.propertiesの中に対象となるデータベース、 および対象となるパッケージを記述し、 project-schema.xmlをあなたのニーズに合わせ編集し、 そしてant -f build-torque.xmlをタイプする、それだけです!

恐らくあなたは、生成されるソースがプロジェクト名を反映する名前を持つように、 build.propertiesの中のprojectプロパティを設定したいと思うでしょう。 しかし、それは後からでもできます:-)。 projectプロパティが変更されたら、 それと一致するようXMLデータベーススキーマの名前も変更しなければならないことを思い出さなければなりません!

例えば、projectプロパティをデフォルト値である"project"から"killerapp"へ変更したときに、schemaディレクトリの中のデフォルトスキーマをproject-schema.xmlからkillerapp-schema.xmlへ変更する必要があります。

Torqueの設定

build.properties

build propertiesの完全な一覧についてはproperties referenceを参照してください。以下は関心すべき主要なプロパティーを抜き出した一覧です。

torque.project
torque.database
torque.targetPackage
torque.database.url
torque.database.driver
torque.database.user
torque.database.password

project-schema.xml

以下はXMLデータベーススキーマの一例です。 この例はTurbineのロールベースユーザシステムのために使用されたデータベースの一部です。

<database>

  <table name="ID_TABLE">
    <column name="ID_TABLE_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="TABLE_NAME" required="true" size="255" type="VARCHAR"/>
    <column name="NEXT_ID" type="INTEGER"/>
    <column name="QUANTITY" type="INTEGER"/>

    <unique>
      <unique-column name="TABLE_NAME"/>
    </unique>

  </table>

  <table name="TURBINE_PERMISSION" idMethod="idbroker">
    <column name="PERMISSION_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="PERMISSION_NAME" required="true" size="99" type="VARCHAR" javaName="Name"/>

    <unique>
      <unique-column name="PERMISSION_NAME"/>
    </unique>

  </table>

  <table name="TURBINE_ROLE_PERMISSION">
    <column name="ROLE_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="PERMISSION_ID" required="true" primaryKey="true" type="INTEGER"/>

    <foreign-key foreignTable="TURBINE_ROLE">
      <reference local="ROLE_ID" foreign="ROLE_ID"/>
    </foreign-key>

    <foreign-key foreignTable="TURBINE_PERMISSION">
      <reference local="PERMISSION_ID" foreign="PERMISSION_ID"/>
    </foreign-key>
  </table>

</database>

他の要素や属性についての詳しい情報を得たい場合はTorqueスキーマリファレンスを参照してください。