Thanks Nathan!  Not the answer I was hoping for, but it does make sense. 
Guess I should have looked at the Java API to begin with.  DOH!  Thanks 
again.

Rick Accountius 
Internet: [EMAIL PROTECTED]




"Nathan Maves" <[EMAIL PROTECTED]> 
07/02/07 03:48 PM
Please respond to
[email protected]


To
[email protected]
cc

Subject
Re: Help with HashMap






Apology accepted.

First off lets take a trip down the old API.

from http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html

"This class makes no guarantees as to the order of the map; in particular, 
it does not guarantee that the order will remain constant over time."

Second, you can create the order when you pull them out.  But I am 
guessing that you are using some sort of iterator to loop through the map 
and print out the results, since you dont know the column names.  I can 
only suggest that you try to create some result classes and not use maps. 
Maps are great for parameter maps but are generally frowned upon as a 
result class.  As a last resort you might get away with trying to use 
LlinkedHashMap from java.util.

Nathan


On 7/2/07, Rick Accountius <[EMAIL PROTECTED] > wrote:

Greetings, 

I'm kind of new to Ibatis, so if I'm missing the obvious, let me apologize 


right up front. 

Nonetheless, here is my problem.  I am using a HashMap as the resultClass 
to retrieve results from a DB2 database.  My problem is the column order 
(not row order) returned appears to be almost random.  How do I "force" 
Ibatis to return the columns in the same order as they appear (returned) 
in the SQL query? 

For example, here is my query:

SELECT A as COL_A, B as COL_B, C as COL_C from tablexxxx

My results can be COL_B, COL_A, COL_C..........or COL_C, COL_B, 
COL_A..........or , etc, etc.

I have logged java.sql and the columns are being returned in the proper 
order, but eventually they get "realigned".  Can someone explain to me 
why?  I'd really appreciate it.  I know I can use a ResultMap to have the 
columns listed in the proper order, but what I'm trying to do is use the 
same Ibatis select statement to "service" arbitrary SQL statements.  Hope 
I'm making sense.

<select id="getReport" parameterClass="com.ibm.bean.ReportDefinition" 
resultClass="java.util.HashMap" remapResults="true">
       $query$
</select>

Thanks, 

Regards, 

Rick Accountius 
Internet: [EMAIL PROTECTED]

Reply via email to