Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/07/2010, 18:15
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Ibatis - Iterate keys en un HashMap

Al final no he encontrado la solución que quería, así que he recurrido a un apaño.

En el objeto utilizado como parameterClass he añadido dos nuevas referencias, los values y keys del Map, de esta forma no incremento el consumo de la memoria repitiendo el mismo contenido del Map. Eso sí, hay que recordar que si sustituimos (no hablo de modificar) el Map debemos actualizar estas referencias.

Hay un problema, estas dos referencias son un Set (keys) y Collection (Values), pero la iteración de ibatis sólo admite List y array[], por lo que finalmente he tenido que construir un método get para cada una de ellas que además convierta el Set y Collection en objects List (no hay cast directo) .

Esto me hace pensar que finalmente no era necesario crear las referencias a los keys y values, ya que ibatis buscará un método get con el nombre de la propiedad que le indiquemos, por lo que llegaría con crear el getValues y getKeys conversores a List (no lo he probado).