Patch which allow to subsititute property with column name from ResultMap in dynamic sql ----------------------------------------------------------------------------------------
Key: IBATIS-333 URL: http://issues.apache.org/jira/browse/IBATIS-333 Project: iBatis for Java Issue Type: New Feature Components: SQL Maps Affects Versions: 2.2.0 Reporter: Andrey Attachments: insertColumnName.patch In situtation, when i need to implement sorting, I need to create such monster, like abator creates for me. But if i only need sorting, here should be mapping beetween columns and properties (if they specified explicitly in ResultMap). In this case, i can write <resultMap id="dynamicAccountResult" class="testdomain.Account"> <result column="ACC_ID" property="id"/> <result column="ACC_FIRST_NAME" property="firstName"/> <result column="ACC_LAST_NAME" property="lastName"/> <result column="ACC_EMAIL" property="emailAddress"/> </resultMap> <select id="dynamicInsertColumnName" parameterClass="string" resultMap="dynamicAccountResult"> select ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME, ACC_EMAIL from ACCOUNT <dynamic> <insertColumnName prepend="where"> = 1</insertColumnName> <!-- ibatis replace this with column mapped for "id" passed as unnamed property --> <insertColumnName prepend="order by"/> </dynamic> </select> public void testInsertColumnName() throws SQLException { List list = sqlMap.queryForList("dynamicInsertColumnName", "id"); // Here we pass our property name assertEquals(1, list.size()); } SQL will be select ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME, ACC_EMAIL from ACCOUNT where ACC_ID = 1 order by ACC_ID In any case, we can pass some AccountCriteria which will hold a list with soring properties names and we can iterate in dynamic sql and get multiply field "order by" clause PS: Not all things tested yet. No errors thrown. This is alpha of this feature. This is proof of conecpt (due of little amount of structural changes in other ibatis classes). If developers wan't this feature and agree with my decisions, I'll implement all other bells and whishes like error checking, tests and may be other extensions for this tag. -- 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