Laura
unread,Nov 7, 2008, 7:32:06 AM11/7/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to JavaSOS
Hola, cómo estás? Les cuento que estoy haciendo una consulta con una
namedquery que me devuelve una lista de resultados, y quiero recorrer
esa lista con un iterator, para pasar la información que necesito a
una nueva lista (pero de clases comunes y ya no de beans de sesión),
pero por algún motivo recorre solo los primero elementos de la lista y
después me tira un error de puntero nulo.
¿Alguna vez les paso? ¿Tienen idea de a que puede deberse?
Saludos y desde ya gracias.
Laura.-
el código:
public List<DatosEmpleado> listarEmpleados() {
System.err.println("public List<DatosEmpleado>
listarEmpleados()");
List <DatosEmpleado> resultado=new ArrayList();
List<Empleado> lista = null;
try{
javax.persistence.Query query =
em.createNamedQuery("Empleado.findTodos");
lista= query.getResultList();
System.err.println("la lista de beans tiene
"+lista.toString());
Iterator iteracion = lista.iterator();
while(iteracion.hasNext()){
Empleado empleadito=(Empleado) iteracion.next();
DatosEmpleado elEmpleado =new DatosEmpleado();
elEmpleado.setNombre(empleadito.getNombre());
elEmpleado.setApellido(empleadito.getApellido());
elEmpleado.setDireccion(empleadito.getApellido());
elEmpleado.setDni(empleadito.getDni());
elEmpleado.setFechaIngreso(empleadito.getFechaIngreso());
elEmpleado.setId(empleadito.getIdEmpleado());
elEmpleado.setIdTarjeta(empleadito.getIdTarjeta());
elEmpleado.setIdTurnoFecha(empleadito.getIdTurno());
elEmpleado.setTelefono(empleadito.getTelefono());
elEmpleado.setTipoEmpleado(empleadito.getTipoEmpleado());
resultado.add(elEmpleado);
System.err.println("la lista agrega el empleado "
+elEmpleado.toString());
}
System.err.println("la lista que sale por try tiene: "
+resultado.toString());
return resultado;
}catch(Exception e){
System.err.println("el error es: " + e.getMessage());
System.err.println(e.toString());
System.err.println("la lista que sale por catch tiene: "
+resultado.toString());
return resultado;
}
}
el output del glassfish:
public List<DatosEmpleado> listarEmpleados()
TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b04-fcs
(04/17/2008))
Server: unknown
file:/home/laura/NetBeansProjects/Storm/Storm-ejb/build/jar/-Storm-
ejbPU login successful
la lista de beans tiene [datos.Empleado[idEmpleado=1],
datos.Empleado[idEmpleado=15], datos.Empleado[idEmpleado=14],
datos.Empleado[idEmpleado=8], datos.Empleado[idEmpleado=16],
datos.Empleado[idEmpleado=6], datos.Empleado[idEmpleado=7],
datos.Empleado[idEmpleado=18], datos.Empleado[idEmpleado=19],
datos.Empleado[idEmpleado=17], datos.Empleado[idEmpleado=12],
datos.Empleado[idEmpleado=20], datos.Empleado[idEmpleado=21],
datos.Empleado[idEmpleado=22]]
la lista agrega el empleado utilidades.DatosEmpleado@32477c94
la lista agrega el empleado utilidades.DatosEmpleado@7343f255
la lista agrega el empleado utilidades.DatosEmpleado@71dae591
la lista agrega el empleado utilidades.DatosEmpleado@5a15ccfc
la lista agrega el empleado utilidades.DatosEmpleado@4d44e298
la lista agrega el empleado utilidades.DatosEmpleado@657890c9
la lista agrega el empleado utilidades.DatosEmpleado@4e69b02a
el error es: null
java.lang.NullPointerException
la lista que sale por catch tiene: [utilidades.DatosEmpleado@32477c94,
utilidades.DatosEmpleado@7343f255, utilidades.DatosEmpleado@71dae591,
utilidades.DatosEmpleado@5a15ccfc, utilidades.DatosEmpleado@4d44e298,
utilidades.DatosEmpleado@657890c9, utilidades.DatosEmpleado@4e69b02a]