データベースへの Entity オブジェクトのコミット

このタスクについて

データベース への Entity オブジェクトのコミットは、次の 2 ステップのプロセスです。

  1. 変更したレコードを検証する。
  2. 変更をコミットする。
タスクの結果
注: フックのコンテキストでは、現在のレコードの変更をコミットできません。 しかし、外部アプリケーションを作成していて、レコードに行った変更を保持する場合、データベースに対するこれらの変更を自分自身でコミットする必要があります。

レコードを検証するには、対応する Entity オブジェクトの Validate メソッドを呼び出します。このメソッドはスキーマの検証スクリプトを実行して、いずれかの検証エラーを含む文字列を戻します。この文字列が空でない場合は、GetInvalidFieldValues メソッドを使用すると、正しくないデータを含むフィールドのリストを戻すことができます。これらのフィールドの値を修正した後、Validate を再度呼び出す必要があります。Validate メソッドから空の文字列が戻された場合、エラーはありません。

レコードを検証して、検証に成功した後、対応する Entity オブジェクトの Commit メソッドを呼び出して、データベースへの変更をコミットします。Commit メソッドを呼び出すと、変更内容がデータベースに書き込まれ、アクションのコミット フックが起動されます。コミットに成功すると、アクションの通知フックが起動されます。

注: フックが起動される順序の詳細については、『スキーマ開発者のヘルプ』の [フィールド フックとアクション フックの実行順序] を参照してください。

データベースへの変更をコミットしないことを決定する場合、Entity オブジェクトの Revert メソッドを呼び出して、これらの変更を元に戻すことができます。変更のセットを元に戻すと、レコードが、EditEntity メソッドを呼び出した前の状態に戻ります。 BuildEntity メソッドで作成された Entity オブジェクトに行われた変更を元に戻すと、レコードは一緒に破棄されます。

注: Rational ClearQuest は、レコードに関連付けられた表示 ID をリサイクルしません。BuildEntity メソッドによって編集可能にされたレコードを元に戻すと、レコードは破棄されますが表示 ID は破棄されないので、その後のレコードはその ID を使用できません。

フィードバック