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}
}