jp.finaluna.api.dao
インタフェース EntityUpdateDAO<PK extends BaseType,VALUE extends DTO>

型パラメータ:
PK - 主キー
VALUE - レコードDTO
すべてのスーパーインタフェース:
DAO

@Rcsid(value="$Revision: 50655 $ $Date: 2010-12-17 13:18:15 +0900 $")
public interface EntityUpdateDAO<PK extends BaseType,VALUE extends DTO>
extends DAO

外部データを主キー指定で更新するためのデータアクセスオブジェクト。

主キーを条件にして、外部データ1レコードを更新する。 更新は分散環境内の他JVMへ通知され、キャッシュが更新される。

主キークラスはhashCode及びequalsを適切に実装する必要がある。

バージョン:
$Revision: 50655 $ $Date: 2010-12-17 13:18:15 +0900 $
作成者:
NTTデータ

メソッドの概要
 void delete(VALUE value)
          1レコードを削除する。
 void forceDelete(PK pk)
          1レコードを強制削除する。
 void forceUpdate(VALUE value)
          1レコードを強制更新する。
 VALUE getForUpdate(PK pk)
          1レコードを更新用取得する。
 void insert(VALUE value)
          1レコードを挿入する。
 void update(VALUE from, VALUE to)
          1レコードを更新する。
 

メソッドの詳細

update

void update(VALUE from,
            VALUE to)
            throws FinalunaApplException,
                   FinalunaOptimisticLockFailureException
1レコードを更新する。

現在のレコード内容がfromと同値の場合のみ、toに変更する。 同値でなかった場合はOptimisticLockFailureExceptionを スローし、レコードは更新されない。

パラメータ:
from - 変更前値
to - 変更後値
例外:
FinalunaOptimisticLockFailureException - valueの値が変更されていた場合にスローされる
FinalunaApplException - 業務例外が発生したとき

forceUpdate

void forceUpdate(VALUE value)
                 throws FinalunaApplException
1レコードを強制更新する。

レコードを強制更新する。レコードが存在しない場合は挿入する。

パラメータ:
value - 変更する値
例外:
FinalunaApplException - 業務例外が発生したとき

insert

void insert(VALUE value)
            throws FinalunaApplException
1レコードを挿入する。

レコードを1件挿入する。

パラメータ:
value - 挿入する値
例外:
FinalunaApplException - 業務例外が発生したとき

delete

void delete(VALUE value)
            throws FinalunaApplException,
                   FinalunaOptimisticLockFailureException
1レコードを削除する。

現在のDBレコード内容がvalueと同値の場合のみ、削除する。 同値でなかった場合はOptimisticLockFailureExceptionを スローし、レコードは更新されない。

パラメータ:
value - 削除する値
例外:
FinalunaApplException - 業務例外が発生したとき
FinalunaOptimisticLockFailureException - valueの値が変更されていた場合にスローされる

forceDelete

void forceDelete(PK pk)
                 throws FinalunaApplException
1レコードを強制削除する。

レコードを強制削除する。主キーで指定されたレコードを無条件に削除する。 削除対象レコードが存在しなかった場合も例外をスローしない。

パラメータ:
pk - 削除するレコードのキー
例外:
FinalunaApplException - 業務例外が発生したとき

getForUpdate

VALUE getForUpdate(PK pk)
                               throws FinalunaApplException
1レコードを更新用取得する。

1レコードを、排他ロックを取りながら取得する。

パラメータ:
pk - レコードのキー
戻り値:
1レコードを格納したDTO
例外:
FinalunaApplException - 業務例外が発生したとき