[ https://issues.apache.org/jira/browse/IBATIS-415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Butler closed IBATIS-415. ------------------------------ Resolution: Invalid iBATIS already retrieves columns in the order they are specified in a result map. As for the issue you raise, there is nothing iBATIS can do. The JDBC specification explicitly states that if multiple columns have the same name in a result set, then only the first one will be returned when getting by column name. The only way to ensure that you'll get the proper columns is to use a column index or to rename the columns so that they are unique. Sorry for the hassle, but blame JDBC - not us :) > Obey column order in resultMap > ------------------------------ > > Key: IBATIS-415 > URL: https://issues.apache.org/jira/browse/IBATIS-415 > Project: iBatis for Java > Issue Type: New Feature > Components: SQL Maps > Affects Versions: 2.3.1 > Reporter: Tony Ugando > > It will be extremely beneficial if iBatis could lookup column names in a > resultSet, in the exact same order they are found in the resultMap. This > would allow users to maintain joins much easier, specifically for tables with > a lot of columns. Maybe an attribute can be added to the resultMap tag, > named obeyColumnOrder="true/false". When setting this attribute to true, > then the columns will be read in the exact same order that they are found in > the resultMap, and any nested or inherited result maps as well. > Currently, it is truly a nightmare when dealing with joined tables that have > conflicting column names. You either need to define an alias for each column > name, in each table, which is extremely tedious, or you need to use the > columnIndex attribute in the result tag. The columnIndex solution is also > very tedious to maintain, and it requires you to create multiple resultMaps > for each table that you are modeling. > eq. > select > TBL_1.*, TBL_2.* > from TBL_1 > left outer join TBL_2 > on TBL_1.SEQ = TBL_2.FK_SEQ > is much easier to maintain than... > select > TBL_1.SEQ, TBL_1.COL,..., > TBL_2.SEQ, TBL_2.COL,... > from TBL_1 > left outer join TBL_2 > on TBL_1.SEQ = TBL_2.FK_SEQ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.