On Sat, 15 Jan 2005 11:16:09 -0700, Clinton Begin <[EMAIL PROTECTED]> wrote: > Okay, I'm sick of typing out parameter map and result map stanzas, how
Would it be feasible to have a result map for just the unusual stuff? > <select id="getPersonByID" parameterClass="int" resultClass="e.g.Person"> > SELECT > PERSON_ID AS %id%, > FIRST_NAME AS %firstName%, > LAST_NAME AS %lastName%, > BIRTH_DATE AS %birthDate,javaType=date,jdbcType=DATE% > FROM PERSON > WHERE PERSON_ID = #value# > </select> The only thing that is exceptional there is the birthDate field..other than that, the default result map would be just fine. I hate the idea of messing with the SQL. IMO, one of the reasons people like SQL Maps is that the query language is untouched by the framework. What I put in is what I get out (with the explicit exception of dynamic SQL). So, instead of mangling the SQL, maybe we could provide a way to keep the SQL clean, and alter the result map instead. That way, instead of needing a full result map, you would only need to explicity map the exceptions. In terms of the work involved for users, the impact is minimal - the existing method will continue to work, and in the cases where all you need is one property mapped differently, it is 3 lines in your xml file. ...and we get the added benefit of knowing the that SQL remains "pure". > 1) The SQL is less pure, and more mangled. Although initially this > looks bad, I think most people use the built-in logging or P6Spy to > grab the real statements anyway. Also, for initial SQL development, > it doesn't reduce the ability for a database admin to write the SQL > (or if it does in your case, you still have the option of an external > <resultMap>). Hmm, another idea. How about this: <select id="getPersonByID" parameterClass="int" resultClass="e.g.Person"> <result property="birthDate" column="BIRTH_DATE" javaType="date" jdbcType="DATE" /> SELECT PERSON_ID AS id, FIRST_NAME AS firstName, LAST_NAME AS lastName, BIRTH_DATE AS birthDate FROM PERSON WHERE PERSON_ID = #value# </select> That might even work for tweaking your parameter mapping. :-) > 2) Dynamic SQL performance may be slightly impacted (no more so than > inline parameters, which is the only way to do dynamic SQL anyway). Not sure how either of these approaches would impact that... > 3) The paramter tokenization may get out of hand. We already know we I agree and think that avoiding that is important. Simpler is better. Oh, and I also agree that collections suck, but I still like Vic in spite of them. ;-) Larry