Cache should follow structure of hierarchical resultmaps --------------------------------------------------------
Key: IBATIS-211 URL: http://issues.apache.org/jira/browse/IBATIS-211 Project: iBatis for Java Type: Improvement Components: SQL Maps Environment: n/a Reporter: Reuben Firmin Assume 3 sqlMaps, A, B, C. A has resultMapA, which contains a mapping to a select query in B, which in turn maps to Cs. In other words, we have: B[] A.getBs(); C[] B.getCs(); When a cache (cacheA) is implemented at A, the Bs and Cs are also cached in it (cacheA), despite the existence of cacheB and cacheC at their respective levels. This means that flushOnExecute statements must be defined for B and C on cacheA's declaration, *i.e. within A's namespace*. This is error prone, since development on B or C is affected by the cache on A; somebody adding or renaming a mutator on B or C would not necessarily know that they have to add or edit a corresponding flushOnExecute to cacheA. The logic (perhaps optional) should be: If resultMapA maps to other sqlMaps, and those sqlMaps have their own caches, then *defer to those caches to cache those objects*. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira