DEL_FLGの扱いについて

359 views
Skip to first unread message

Elen

unread,
Mar 23, 2012, 3:19:25 AM3/23/12
to dbf...@googlegroups.com
論理削除用フラグの取り扱いについて質問させてください。

DEL_FLG CHAR(1)

MemberCB cb = new MemberCB();
cb.query().setDelFlg_Equal("0");

上記の条件を毎回プログラマーに指定させるのは避けたいので
MemberCQのコンストラクタで条件をセットするようにしました。
期待通りの結果になったのですが、例えばバッチ処理等でDelFlgの指定を外したくなった時に
どうすればよいのでしょう?

試しに両方の値を指定して見たら
cb.query().setDelFlg_InScope(Arrays.asList("0", "1"));

 where dfloc.DEL_FLG = '0'
   and dfloc.DEL_FLG in ('0', '1')

元の条件は残ったままでした。
一度セットした検索条件を外す事はできないのでしょうか?

MemberCQ.arrangeXXX()を呼び出すようにすれば良いのは分かりますが、
DelFlgの為だけに呼ぶのも何だかなぁと思っています。

kubo

unread,
Mar 24, 2012, 10:43:44 AM3/24/12
to dbf...@googlegroups.com
jfluteです。

Elenさん、こんばんは

> MemberCB cb = new MemberCB();
> cb.query().setDelFlg_Equal("0");
>
> 上記の条件を毎回プログラマーに指定させるのは避けたいので

まず、一応念のために、触れさせて頂きますね。
DBFluteとしては区分値のコードはベタに設定することはないです。
-> cb.query().setDelFlg_Equal_False();

// 区分値 | DBFlute
http://dbflute.sandbox.seasar.org/ja/manual/function/genbafit/implfit/classification/index.html

そして、論理削除フラグに関してですが、
DBFluteでは、あまり論理削除フラグを隠蔽するのをお奨めしていません。
論理削除には業務的な意味が含まれていることが多いため、
明示的に条件として見えていた方が、トラブりにくいと考えているからです。
(周りのプロジェクトでもそのようにやってうまくやっています)

あと、まとまっていないですが、このようなISSUEもあります。
https://www.seasar.org/issues/browse/DBFLUTE-553

ただ一方で、色々な使い方ができてもいいので、
次の DBFlute-0.9.9.3D にて、CBのwhere句を
クリアできるメソッドを用意しようかと思います。
cb.clearWhereClauseOnBaseQuery();

カラムごと個別個別に削除するような機能は、
カオスを生む可能性があるのでサポートしていません。

2012/3/23 Elen <e.crim...@gmail.com>:

> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/dbflute/-/TT9aP_bSUEsJ
> にアクセスしてください。
> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
> このグループから退会するには、dbflute+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/dbflute?hl=ja からこのグループにアクセスしてください。

kubo

unread,
Mar 25, 2012, 1:49:25 AM3/25/12
to dbf...@googlegroups.com
jfluteです。

0.9.9.3D-RC3にて利用できるようになっています。
cb.clearWhereClauseOnBaseQuery

2012/3/24 kubo <dbf...@gmail.com>:

Elen

unread,
Mar 25, 2012, 10:19:47 PM3/25/12
to dbf...@googlegroups.com
jfluteさん、

対応ありがとうございました。

区分値も使えるようにドキュメントを読んでみます。


2012年3月25日14:49 kubo <dbf...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages