[DAO-121] ModifiedOnly機能をNullBeanEnhancerが設定されているときでも利用できるようにする([seasar-s2dao-dev:496]) Created: 2007-09-13 Updated: 2007-09-14 Resolved: 2007-09-14 |
|
Status: | Resolved |
Project: | S2Dao |
Component/s: | s2dao |
Affects Version/s: | None |
Fix Version/s: | 1.0.47-RC1 |
Type: | Improvement | Priority: | Major |
Reporter: | jundu | Assignee: | jundu |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Description |
BeanEnhancerImplの位置付けをgetModifiedPropertyNamesメソッドの実装を楽にするためという位置付けに変更し、NullBeanEnhancerが設定されているときでも、自分でgetModifiedPropertyNamesメソッドが実装されていればModifiedOnly機能が利用できるように変更する。 |
Comments |
Comment by jflute [ 2007-09-14 ] |
DBFluteで作ったgetModifiedPropertyNames付きEntityではありますが、 |
Comment by jundu [ 2007-09-14 ] |
対応しました。 |
Comment by jundu [ 2007-09-13 ] |
NullBeanEnhancerの場合、ModifiedOnlyが付いた更新メソッド以外ではgetModifiedPropertyNamesが実装されていなくても正常ですが、それ以外の場合も更新済みプロパティの取得が行われてしまうため、getModifiedPropertyNamesが実装されていない場合は、従来どおり空のSetを返すようにしたいと思います。 |
Comment by jundu [ 2007-09-13 ] |
従来のNullBeanEnhancerでは、ModifiedOnlyの付いた更新メソッドが呼び出されたときに必ずTimestampやVersionNoを除く全てのカラムが更新対象外になっていたのを、BeanEnhancerImplと同様の実装にすることでgetModifiedPropertyNamesを自分で実装していれば、正常に動作するように変更します。 合わせて、getModifiedPropertyNamesが実装されていない場合は、BeanEnhancerImplと同様に例外が発生するように変更したいともいます。これは、TimestampやVersionNoだけを更新する処理というのが正常とは思えないためです。 ModifiedOnly機能を使う⇒getModifiedPropertyNamesを実装する このような構図にしたいと思います。
|