区分値カラムのネイティブ型の設定メソッド利用禁止オプション

@DBFlute-0.9.6.7, Java
// Entityのsetで始まる区分値設定メソッド
http://d.hatena.ne.jp/jflute/20100406/1270564473

に関連した流れですが、
区分値カラムのネイティブ型の設定メソッドをそもそも
利用禁止にしてしまうオプションが追加されました。
ネイティブ型の設定メソッドとは具体的には、
  o entity.setMemberStatusCode("FML");
  o cb.query().setMemberStatusCode_Equal("FML");
です。
利用禁止の実現方法ですが、設定メソッドの
可視性が protected になります。
(内部的に必要なため、削除するわけではない)
十分、ディベロッパーのハードコードを防げるかと思います。

littleAdjustmentMap.dfprop にて
isForceClassificationSetting = true
とすると、そのようになります。
注意点としては、必ずしもネイティブ型の設定メソッドが
不要とは限らない、ということです。
例えば、既に正しい区分値であることが保証されている
リストボックスからリクエストパラメータとか、
TSVのデータのツール経由での取り込みとか、
時には、そのネイティブ型の変数をそのままネイティブ型の
設定メソッドに突っ込みたいこともあります。
そういう場合、この機能を利用していると、都度都度必ず
CDef (ENUM)に変換して設定する必要があります。

CDef.MemberStatus cdef = CDef.MemberStatus.codeOf(xxx);
entity.setMemberStatusCodeAsMemberStatus(cdef);

なので、(外部から来るものも含めて)全てのコードを CDef(ENUM)
で取り扱うようなシステムであれば良いですが、そうでない場合は、
逆にちょっと扱いづらい場面も出てくる可能性があります。
アーキテクトがローカル環境で一時的に有効にして再自動生成して、
ハードコードしてる箇所がないかチェックするっていうのに
使うのもアリかもしれません。
ちなみに、DB上に区分値定義に存在しないコードがあって、
それを検索した場合は、Entity上は null になります。
(ネイティブ型での設定はできないため)

// 区分値定義に存在しないコードがDB上にあったら例外オプション
http://d.hatena.ne.jp/jflute/20100407/1270644175

を利用することで、例外にすることは可能です。