Hi Sal:

We've implemented a very similar piece of functionality in our organization.  
We leveraged .Net's explicit interfaces feature to address the complex property 
issue you describe below.  The explicit interface properties are used by 
non-iBATIS object model consumers and the actual implementation properties are 
used by iBATIS. This allows the functionality in the object model to 
distinguish behavior amongst multiple model consumers.  Another advantage we've 
found with this approach is in the area of lazy loading.  We can engage lazy 
loading when we're a non-iBATIS object model consumer and avoid it when iBATIS 
is populating the object model.

I hope this helps,
Chris Potter

Confidentiality Notice:  This E-mail message, including any attachments, is for 
the sole use of intended recipient(s) and may contain confidential and 
privileged information.  Any unauthorized review, use, disclosure or 
distribution is prohibited.  If you are not the intended recipient, please 
contact the sender by reply email and destroy all copies of the original 
message.


-----Original Message-----
From: Sal Bass [mailto:salbass...@hotmail.com] 
Sent: Thursday, May 28, 2009 11:55 AM
To: user-cs@ibatis.apache.org
Subject: Dirty Tracking Issue


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

Reply via email to