Hi Larry,

Larry Meadors wrote:
I don't know about the performance - a hashmap is pretty fast for
retrieval. (FYI: the constructor you use there will cause slower
performance - the default would use more memory, but be faster - using
3 or 4 as the parameter might be better, read the javadocs on that
one.)
Oh sure, I forgot about the .75 load factor. Thanks for telling me this! I agree in this case it's better not to use the parameter at all.

The parameter checking is an interesting idea - I'm just not sure that
it makes it much less error prone - in both cases, you need to type
(or paste) the names.
It's not my idea, actually. I found it in the section "JavaBean and Map parameters" of "iBatis in Action". It sais: "If you create a parameter map with a bean and attempt to refer to a property that does not exist, you will get an immediate failure when the parameter map is loaded." I tested it now with the anonymous parameter class I cited before and it doesn't seem to work as described: the "There is no READABLE property named" exception is thrown only when the query is called, not when the map is loaded. I think I got something wrong again :)

Regards
Ilya


On 9/3/07, Ilya Boyandin <[EMAIL PROTECTED]> wrote:
Thanks, Larry!

but could you tell me why? I thought using an anonymous class has an
important advantage: it allows loading-time parameter check. Also I
think it should be faster than using HashMap. Isn't it true?

Ilya

Larry Meadors wrote:
Well, they should both do the same thing...I'd use the map. :)

Larry


On 8/31/07, Ilya Boyandin <[EMAIL PROTECTED]> wrote:

Hello all,

what should I prefer, this:

return getSqlMapClientTemplate().queryForList("listEvaluationPlans", new
Object() {
    long getPersonId() { return personId; }
    String getLang() { return lang; }
});

or this:

final Map<String, Object> params = new HashMap<String, Object>(2);
params.put("personId", personId);
params.put("lang", lang);
return getSqlMapClientTemplate().queryForList("listEvaluationPlans",
params);

Thanks in advance
Ilya




FH JOANNEUM Gesellschaft mbH
Rechtsform/Legal form: GmbH
Firmenbuchgericht/Court of registry: Landesgericht für ZRS Graz
Firmenbuchnummer/Company registration: FN 125888 f
DVR: 0813559
UID-Nr.: ATU 42361001

Reply via email to