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