[ https://issues.apache.org/jira/browse/IBATIS-382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462685 ]
Murtaza Goga commented on IBATIS-382: ------------------------------------- The attached zip contains two patches for the two options I had discussed. 1. ResultObjectFactoryMapAware.patch 2. ResultObjectFactoryAppendMapId.patch > ResultObjectFactory Object Creation Context > ------------------------------------------- > > Key: IBATIS-382 > URL: https://issues.apache.org/jira/browse/IBATIS-382 > Project: iBatis for Java > Issue Type: Improvement > Components: SQL Maps > Affects Versions: 2.3.0 > Environment: Not relevant > Reporter: Murtaza Goga > Priority: Minor > Attachments: IBATIS-382.zip > > > The ResultObjectFactory is a great mechanism to allow the creation of objects > and their subsequent initialization in the factory. The ResultObjectFactory > is invoked with the statementID and Class of the object to be created. The > statementID is a good discriminator for the create operation to make > decisions, however the correlation to the object is not that strong. The > resultMap identifier or parameterMap identifier have a closer relationship to > the object being created. > This issue is about providing better context to the factory than just the > statement identifier. > There are some options which could be used to address this improvement: > 1. Add an extended factory interface which takes a third parameter the > executing map id. ResultObjectFactoryMapIdAware.create(statementId, mapId, > Class) > 2. System property to optionally append the map id to the statement id to > the delimiter. (statementId#resultMapId) > 3. Changes in the resulMap configuration to pass custom parameters to the > factory from the resultMap. N child elements <factoryParam name="foo" > value="bar />. > I have patches for 1 and 2, but I have not spent much time on 3, since it is > a bit intrusive. It does offer the most flexibility though. > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira