Yes, I explored that. But how will that work for the complex properties? Only 
the root object would know it's in a loading state.


________________________________
> Date: Fri, 29 May 2009 02:22:33 +0800
> Subject: Re: Dirty Tracking Issue
> From: sky...@gmail.com
> To: user-cs@ibatis.apache.org
>
> We can bypass to set 'dirty' if the AOP generation mechanism can know an 
> object is in 'loading' state.
>
> We can use a custom IBatisNet.Common.Utilities.IObjectFactory to mark an 
> object 'loading'.
>
> And we can use a wrapped ISqlMapper to clean the 'loading' flag as:
>
> public object QueryForObject(string statementName, object parameterObject) {
> Object result = originalSqlMapper.QueryForObject(...);
>
> result.IsLoading = false;
> return result;
> }
>
>
> Yaojian
>
> On Fri, May 29, 2009 at 1:55 AM, Sal Bass> wrote:
>
>
>
> I am having a dilema with implementing dirty tracking on my entities. I am 
> using AOP to mark an entity as "dirty" when a property is set. The problem 
> occurs when I load the entities using Ibatis because it sets the properties 
> during mapping which makes the entity dirty (no, I can't use constructor 
> mapping here). So, I use a RowDelegate to mark the entity clean before 
> returning it. Works great....except for when I am loading a root object with 
> several complex properties (ILists of other entities). The RowDelegate is 
> obviously not fired for each complex property, so they are returned as dirty.
>
>
>
>
> Any idea of how I can get at all of the complex properties to mark them clean 
> before returning the entity?
>
>
>
>
>
>
>
> _________________________________________________________________
>
> HotmailĀ® goes with you.
>
> http://windowslive.com/Tutorial/Hotmail/Mobile?ocid=TXT_TAGLM_WL_HM_Tutorial_Mobile1_052009
>
>
_________________________________________________________________
Windows Liveā„¢: Keep your life in sync.
http://windowslive.com/explore?ocid=TXT_TAGLM_BR_life_in_synch_052009

Reply via email to