EzJDBCで特定項目のみ更新する方法


今回は、EzJDBCを利用してEntityの内容をテーブル更新する際に「特定項目」のみ更新する方法について記述します。単純に考えれば、以下の3パターンが考えられます。

1.更新前の値と更新用の値を比較し、事なった項目のみ更新を行う。

// 更新対象となるORDERテーブル情報インスタンスを生成
_ORDER OD = new _ORDER();
// 更新対象となるデータのversionチェックを行い同一であった場合は更新する。
EzJDBC.to(OD).version().update(order);

2.Entityのプロパティがnullの項目は除外して更新する。

// 更新対象となるORDERテーブル情報インスタンスを生成
_ORDER OD = new _ORDER();
// 更新対象となるデータのversionチェックを行い同一であった場合は更新する。
EzJDBC.to(OD).excludeNull().update(order);

空白文字(whitespace)を除外して更新する場合は「EzJDBD#.excludeWhitesapce()」になります。
EzJDBC#exclude系メソッドは複合して利用可能です。

3.更新するカラムを利用者が指定する。

// 更新対象となるORDERテーブル情報インスタンスを生成
_ORDER OD = new _ORDER();
// 更新対象となるデータのversionチェックを行い同一であった場合は更新する。
EzJDBC.to(OD).includes(OD.date,OD.customerCode).update(order);

除外する項目を指定する場合は「EzJDBC#excludes(...)」になります。

似たような機能で「EzJDBCの更新系メソッドに以下の一括更新機能」については
以前エントリー(http://d.hatena.ne.jp/trygun/20090909#1252500132)で既に説明したとおりですが
今回で大事なのはEntityの内容をテーブルに更新する場合ということです...似て否なる機能なのです.


では、では...(^^;)