classificationDeploymentMap

classificationDeploymentMapとは?

テーブルのカラムと、それに関連付ける区分値のマッピングを定義するためのDBFluteプロパティ。DBFluteクライアントの dfprop 配下の classificationDeploymentMap.dfprop という名前のテキストファイルです。主に Generateタスク から参照されます。

このプロパティを利用すると、以下のことができるようになります。

  • Entityに区分値を設定する際に、区分値の名称でタイプセーフに設定できる
  • Entityに設定されている区分値が何であるかを、区分値の名称で判定できる
  • ConditionBeanで条件を組み立てる際に、区分値の名称でタイプセーフに指定できる

また、Docタスクを実行すると、このプロパティに定義した内容が SchemaHTML に反映されます。(テーブルのカラムに関連付けた区分とその区分値が表示される)

テーブル区分値に関しては、(基本的に)自動で関連付けが行われるため、このプロパティでの設定は不要 です。classificationDefinitionMap.dfprop の方で既にテーブル名やカラム名を設定しているためです。なので、このプロパティは "暗黙の区分値" のためのものと言えます。 (例外的に、All-in-Oneテーブル区分値の場合にこのプロパティが必要になります)

プロパティ

map型プロパティ で、テーブル名そしてカラム名と区分値の関連を定義します。

classificationDeploymentMapの仕様 @classificationDeploymentMap.dfprop
map:{
    ; [table-name or $$ALL$$] = map:{
        ; [column-name (with hint)] = [classification-name]
    }
    ; ...
}

以下、(*)の付いたプロパティは必須です。

table-name (*)

テーブル名を指定します。

値候補
テーブル名 (全テーブルを対象とする場合は $$ALL$$ とする)
デフォルト
なし
補足
  • $$ALL$$ は、全テーブルの中から条件に一致するカラム全てに区分値を関連付ける
  • $$ALL$$ の要素は一つだけ (mapのキー値)

column-name (*)

区分値を関連付けるカラム名を指定します。

値候補
カラム名
デフォルト
なし
補足
  • 前方一致: "prefix:前方一致させる文字列" という形式で指定
  • 後方一致: "suffix:後方一致させる文字列" という形式で指定
  • 中間一致: "contain:中間一致させる文字列" という形式で指定

classification-name (*)

カラムに関連付ける区分値の名称を指定します。

値候補
classificationDefinitionMap.dfprop で定義した区分値名
デフォルト
なし

Example

e.g. 設定例 @classificationDeploymentMap.dfprop
map:{
    ; $$ALL$$       = map:{suffix:_FLG = Flg} # 全テーブルの_FLGで終わるカラム
    ; MEMBER_STATUS = map:{MEMBER_STATUS_CODE = MemberStatus}
}