Programación en castellano
Inicio > Foros > Java (Servlets y JSP) > Duda Hibernate
-Foros de debate

Java (Servlets y JSP)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Duda Hibernate
Enviado por XerXi el día 6 de junio de 2006

Buenas,

Tengo una duda sobre hibernate. Sin enrollarme, porqué me funciona el primer método y el segundo no (NOTA: no es error de compilación,el primero me devuelve el objeto correctamente y el segundo no):

=====================================================
1
=====================================================
public static Factura getFactura(int pkid) throws HibernateException
{
Session session = null;
Transaction tx = null;
Factura factura = null;
List lista = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
tx = session.beginTransaction();
Query q = session.createQuery("From data.beans.Factura as f where f.pkid=" + pkid);
lista = q.list();
factura = (Factura)lista.get(0);

tx.commit();

} catch (Exception e) {
factura = null;
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
throw new HibernateException(e);
} finally {

}
return factura;
}

=====================================================
2
=====================================================
public static Factura getFactura(int pkid) throws HibernateException
{
Session session = null;
Transaction tx = null;
Factura factura = null;
List lista = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
tx = session.beginTransaction();
factura =(Factura)session.load(Factura.class,new Integer(pkid));

tx.commit();

} catch (Exception e) {
factura = null;
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
throw new HibernateException(e);
} finally {

}
return factura;
}

 
Re: Duda Hibernate
Enviado por neossoftware el día 7 de junio de 2006

Al parecer esta correcto podrias poner la excepcion que te tira?????

SAlu2

 
Re: Re: Duda Hibernate
Enviado por XerXi el día 8 de junio de 2006

Cuando intento acceder a un atributo llamando a su get del bean me lanza un Nullpointer Exception....

Gracias!

 
Re: Re: Re: Duda Hibernate
Enviado por rperez el día 10 de junio de 2006

Oye un pregunta por que no cierras la session al final de la clase y le pones los Exceptions, para que muestre cual es el eror, prueva esto:

Session session = null;
UserInfo user = null;
Transaction tx = null;

try {
session = factory.openSession();
tx = session.beginTransaction();

user = (UserInfo)session.load(UserInfo.class, id);

tx.commit();
}
catch(Exception e) {
if (tx != null) {
try {
tx.rollback();
}
catch (HibernateException e1) {
throw new DAOException(e1.toString());
}
}
throw new DAOException(e.toString());
}
finally {
if (session != null) {
try {
session.close();
}
catch (HibernateException e) {
}
}
}

 
Re: Re: Re: Re: Duda Hibernate
Enviado por XerXi el día 12 de junio de 2006

Hola,

Lo que he visto en el fichero de configuración de hibernate es lo siguiente:

<property name="current_session_context_class">thread</property>

Creo que con este parametro hibernate gestiona el mismo las sesiones, entonces por eso en mi código recupero la sesion con .getCurrentSession() y no cierro la sesion, sólo comiteo la transacción (esto es cierto, no?) La cosa es q probando si creo la sesion en el método si q funciona correctamente el método load(). Alguien sabe porque? Alguna solución? (aparte de dejar el método con la query hql).

Saludos y Gracias!!

 
Re: Re: Re: Re: Re: Duda Hibernate
Enviado por matias el día 15 de junio de 2006

te aseguraste que esta levantando el objeto antes de hacer el get? hace un validacion if (objeto!=null) objeto.getAtributo()
asegurate de que haya en tu base un objeto con ese id

 






Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados