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の内容をテーブルに更新する場合ということです...似て否なる機能なのです.
では、では...(^^;)