I think I solved the problem. When I typed the problem out, I did not
realize I incorrectly stated the result map, which should be:
<resultMap id="BResult" class="BImpl">
<result property="a.name" column="name" />
</resultMap>
Jeff, my original example and your example worked because it was done
the "correct way" -- it seems when nested interfaces are involved, I am
forced to use the inner resultMap. That's fine by me, but I did not
realize this until I spoke out the entire problem, which you and Clinton
helped me through.
Thanks for all your help. It was a difficult problem to explain, but I
can now see how to solve this design pattern: nested interfaces require
an inner resultMap so you can specify the implementation. I am glad I
asked for that enhancement for 2.2 :)
Also I apologize for any wasted time on both your parts! Thanks again.
Paul
Paul Benedict wrote:
Can you send the test case? That would be great. The example I did not
try per se, but it is a simplified example of what I've experienced for
a long time. The class and properties names aren't the same but the
concept is.
Paul
Jeff Butler wrote:
Hi Paul,
Did you actually try this? I did and had no trouble running it. I'd
be happy to send you the test case if you want, but I think it's
exactly what you described.
Jeff Butler
On 1/15/07, *Paul Benedict* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
I erred at the start of 4th paragraph:
It read:
>>iBATIS errs out on #4 because it invokes BImpl.setA(), but gets
back only the interface from BImpl.getA().
It should read:
>>iBATIS errs out on #4 because it invokes setName() from
BImpl.getA(), but the method doesn't exist at this level.
Paul