行の更新

行の挿入または行への移動により行を取得した後は(詳細は関連項目のトピックを参照)、その行の属性値を変更できます。行に永続属性が含まれている場合、その属性はリクエスト時にエンティティ・キャッシュで変更され、データソースにポストされます。詳細は、関連項目のトピックを参照してください。

属性値は次のいずれかの方法で変更できます。setAttribute()をコールするか、アクセッサを使用します。

setAttribute()のコール

属性の名前を文字列として渡し、属性の値を任意のオブジェクトとして渡すことにより、行でsetAttribute()をコールします。

currentRow.setAttribute("OrderId", new Number(1));

警告: 値に無効なJava型を使用すると、実行時にClassCastExceptionが発生します。

アクセッサの使用

ビュー・オブジェクトの公開されたアクセッサがある場合は、次の手順をかわりに使用できます。

  1. ビュー・オブジェクト定義を含んでいるパッケージの共通サブパッケージがインポート済であることを確認します。たとえば、ビュー・オブジェクトがorderentry.datamodelに定義されている場合、次のコードを使用します。

    import orderentry.datamodel.common.*;

  2. 行をカスタム・ビュー行インタフェースにキャストします(これは通常、OrdersViewRowのように、ビュー・オブジェクト定義の名前の末尾にRowという語句を追加したものになります)。

    OrdersViewRow currentOrder = (OrdersViewRow) currentRow;

    注意: 行を取得と同時にキャストすることもできます。

  3. 正しいJava型(コンパイル時にチェックされます)を使用して属性の値を渡すことにより、属性のタイプ・セーフなsetterをコールします(setter名は、setOrderId()のように、属性名の先頭にsetという語句を追加したものになります)。

    currentOrder.setOrderId(new Number(1));


データの操作方法
Oracle ADFビュー・オブジェクトについて
Oracle ADFエンティティ・オブジェクトについて
Oracle ADF Business Componentsのキャッシュ管理について
トランザクションのコミットおよびロールバック
トランザクションのコミット
問合せ結果間の移動方法
行の挿入
属性値の取得
ビジネス・ロジックの実装

 

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.