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

problema con struts/hibernate en myeclipse

Estas en el tema de problema con struts/hibernate en myeclipse en el foro de Java en Foros del Web. Hola! Tengo un problema que me tiene muy liado. Estoy haciendo un proyecto en myeclipse con struts e hibernate y utilizo el servidor Tomcat de ...
  #1 (permalink)  
Antiguo 05/11/2006, 16:30
 
Fecha de Ingreso: octubre-2006
Mensajes: 83
Antigüedad: 17 años, 6 meses
Puntos: 0
problema con struts/hibernate en myeclipse

Hola!
Tengo un problema que me tiene muy liado.
Estoy haciendo un proyecto en myeclipse con struts e hibernate y utilizo el servidor Tomcat de Apache.
Tengo una serie de clases DAO(acceso a datos(mediante hibernate)) y clases BL(de logica de negocio).
Desde las clases BL llamo a las clases dao.
Pues bien, en unas de mis clases que heredan de Action(struts) llamo a un metodo de la clase BL. Dentro de la clase BL creo un obejto DAO y luego llamo a uno de sus metodos que accederan a la Base de datos. Pues El problema esta en que justo cuando va a llamar al constructor de la clase DAO en el Debugger me indica esto:

WebappClassLoader(ClassLoader).loadClassInternal(S tring).

Creo que es porque no encuentra el .class de la clase

Investigando comente todos los import de hibernate que hago en la clase DAO asi como el codigo de los metodos y la sorpresa fue que esta vez no me dio ningun error.
¿Alguin sabe porque puede ser?
Yo creo que el problema puede estar en que no encuntra las clases que debe importar y por eso no compila el DAO. Es por ello por lo que cuando comento los import y el codigo de los metodos no me da ningun problem.
¿Alguine me puede ayudar?
¿Os ha ocurrido alguna vez algo parecido?
os agrdeceria cualquier tipo de ayuda, muchas gracias!
  #2 (permalink)  
Antiguo 05/11/2006, 16:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 83
Antigüedad: 17 años, 6 meses
Puntos: 0
un avance mas sobre el problema

Creo que el erro puede estar en el DAO, asi que añado acontinuacion mi codigo:

package es.usal.proyecto.dao;


import es.usal.proyecto.general.MiExcepcion;


import java.util.Iterator;
import java.util.List;
import java.util.Vector;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.HibernateException;



import es.usal.proyecto.hibernate.HibernateSessionFactory ;

public class ProvinciaDAO {
public ProvinciaDAO(){System.out.println("constructor DAO");};
public Vector obtenerProvinciasDAO()throws MiExcepcion{
Vector resultado= new Vector();
Session sesion= null;

System.out.println("DAO");
try{
System.out.println("hola1");
sesion=HibernateSessionFactory.currentSession();
System.out.println("hola2");
Query consulta = sesion.getNamedQuery("listadoProvincias");
List listado = consulta.list();
Iterator it = listado.iterator();
while(it.hasNext()){
Object p = it.next();
resultado.addElement(p);
}
}
catch(HibernateException e){
e.printStackTrace();
System.out.println("Estoy en catch");
MiExcepcion e1 = new MiExcepcion("Error en la consulta");
throw e1;
}
finally{
System.out.println("finally dao");
HibernateSessionFactory.closeSession();
}
return resultado ;

}

}


El fallo puede estar en la linea en color rojo. Cuando llamo al metodo currentSession() de la clase HibernateSessionFactory salta "algo" que hace que la funcion vaya directamente al finally. Digo "algo" porque si es una excepcion, esta no es capturada en el catch....

yo sigo en ello, si a algien se le ocurre algo...
  #3 (permalink)  
Antiguo 06/11/2006, 07:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Prueba a cambiar el
Cita:
catch(HibernateException e){
por
Cita:
catch(Exception e){
asi capturaras cualquier tipo de excepcion y sabras el error que te da. Un NullPointerException, por ejemplo, te saltaría el catch que tienes ahora.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:25.