Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con resultMap

Estas en el tema de Problema con resultMap en el foro de Java en Foros del Web. La idea es acceder a la base de datos y traer la concatenacion del nombre y apellido correspondientes al usuario que se le pasa como ...
  #1 (permalink)  
Antiguo 26/07/2010, 12:11
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Problema con resultMap

La idea es acceder a la base de datos y traer la concatenacion del nombre y apellido correspondientes al usuario que se le pasa como "id".
Estoy intentando acceder a in Store Procedure pasandole un parametro por Java de esta forma:

public Responsable getResponsable(Long id) {
return (Responsable) getSqlMapClientTemplate().queryForList("getRespons able", id);
}

En el archivo XML que accede al SP se definen los datos que se traerán de la tabla concatenando apellido y nombre:
<resultMap id="resultadoLideresPorSup" class="com.bbva.sgi.model.ResponsableLdd">
<result property="nombreResponsable" column="NOMBRE_RESPONSABLE" columnIndex="1" />
<result property="apellidoResponsable" column="APELLIDO_RESPONSABLE" columnIndex="2" />
</resultMap>

<select id="getLiderPorSupervisor" resultMap="resultadoLideresPorSup">
{call sp_getLiderPorSupervisor(#id#)}
</select>

En la clase ResponsableLdd estan definidos los getters y setters de nombreResponsable y apellidoResponsable
El problemas es el siguiente:
[26/07/10 15:11:43:861 GMT-03:00] 00000034 WebApp E SRVE0026E: [Error de servlet]-[action]: org.springframework.jdbc
.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.Nes
tedSQLException:
--- The error occurred in com/bbva/sgi/model/Responsable.xml.
--- The error occurred while applying a result map.
--- Check the Responsable.resultadoLideresPorSup.
--- Check the result mapping for the 'nombreResponsable' property.
--- Cause: java.sql.SQLException: Invalid column name NOMBRE_RESPONSABLE.
Caused by: com.ibatis.common.jdbc.exception.NestedSQLExceptio n:
--- The error occurred in com/bbva/sgi/model/Responsable.xml.
--- The error occurred while applying a result map.
--- Check the Responsable.resultadoLideresPorSup.
--- Check the result mapping for the 'nombreResponsable' property.
--- Cause: java.sql.SQLException: Invalid column name NOMBRE_RESPONSABLE.

Yo solo quiero recuperar el nombre y el apellido de la tabla...
¿Alguien que me de una idea?
  #2 (permalink)  
Antiguo 26/07/2010, 15:44
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Problema con resultMap

Parece que el problema lo tienes en la base de datos, ¿se llaman los campos devueltos NOMBRE_RESPONSABLE y APELLIDO_RESPONSABLE ?

Cita:
Invalid column name NOMBRE_RESPONSABLE.
Si es así, prueba a usar sólo columnIndex, aunque no suelen recomendar utilizarlo porque dificulta el mantenimiento.

Otra cosa, si tu interés es únicamente recuperar el nombre + apellido, podrías hacer que la propia consulta los una y recuperarlo como una String, utilizando un ResultMap de esta forma

<resultMap id="resultadoLideresPorSup" class="java.lang.String" />

Por cierto, no veo que le estés pasando el parámetro Long Id, te faltaría añadir

<select id="getLiderPorSupervisor" resultMap="resultadoLideresPorSup" parameterClass="java.lang.Long">
  #3 (permalink)  
Antiguo 27/07/2010, 06:43
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con resultMap

Lo chequeo y te respondo... Gracias por tu respuesta! saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:42.