This is a cache of http://dbflute.seasar.org/ja/manual/function/ormapper/behavior/select/selectbypkvaluewithdeletedcheck.html. It is a snapshot of the page at 2024-11-01T00:27:05.882+0000.
selectByPKValueWithDeletedCheck(pk) | DBFlute

selectByPKValueWithDeletedCheck(pk)

概要

基本概念

PK値で null を戻さない一件検索 をします。検索結果が存在しない場合は明示的な例外が発生するので、検索結果がないという状況が業務的にあり得ない(条件設定のバグ、データ不整合など)、 もしくは、その状況は業務的なすれ違いなので排他制御の仕組みで一律の処理を行う、というようなときに利用します。

DeletedCheck の Deleted は、別の人(プロセス)のすれ違いによる削除のことを示します。

検索結果が存在しなかったら業務的に正常な処理を行う、という場合は、このメソッドではなく selectByPKValue() を利用して下さい。

会話上では、せれくとばいぴーけーばりゅーうぃずでりーでぃっどちぇっく と表現します。もしくは nullを戻さないせれくとばいぴーけーばりゅー と表現します。といいつつ長いので、どちらかというと nullを戻さないばいぴーけー という方が通じやすく呼びやすいかもしれません。

ささやかなメソッド

PK値での検索に向いていそうでいながら、関連テーブルの取得とか、その他ConditionBeanによるオプションが使えないので、 非常にシンプルな一件検索でしか利用できないのも事実です。ささやかな便利メソッドと考えてよいでしょう。

複合主キーの場合は、PK値の指定漏れが発生しないメソッドとして活用できますが、 ConditionBean自体にもPK値を等値条件として受け取るメソッドが用意されており、そこまでこのメソッドの存在感を高めるものにはなりません。

実装方法

実装の流れ

Behaviorの selectByPKValueWithDeletedCheck() を呼び出し、PKの値を指定します。

e.g. selectByPKValueWithDeletedCheck()の実装手順 (Eclipseでコード補完) {MEMBER} @Java
memberBhv.selBPKVW // .selBPKVW と打って enter
--
// セミコロン ';' を打って ctrl(or command) + 2 そして L
memberBhv.selectByPKValueWithDeletedCheck(cb);
--
Member member = memberBhv.selectByPKValueWithDeletedCheck(cb);
... = member.getMemberId(); // member は null でない

メソッド仕様

引数

selectByPKValue()と同じです。

戻り値

selectEntityWithDeletedCheck(cb) と同じです。

例外

selectEntityWithDeletedCheck(cb) と同じです。

オーバーライド

selectList() と同じような要領となります。