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

Duda basica con hibernate

Estas en el tema de Duda basica con hibernate en el foro de Java en Foros del Web. Estoy apreondiendo hibernate, y haciendo una pequeña prctica me ha surgido una duda: cuando hago: Categorias categoria= session.load(Categorias.class,"Una categoria"), si lo encuentra en la BD ...
  #1 (permalink)  
Antiguo 29/01/2009, 06:28
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 16 años, 5 meses
Puntos: 0
Duda basica con hibernate

Estoy apreondiendo hibernate, y haciendo una pequeña prctica me ha surgido una duda:
cuando hago:
Categorias categoria= session.load(Categorias.class,"Una categoria"),

si lo encuentra en la BD me devuelve en categoria el regisro de la tabla, pero si no encuentra nada en la bd ¿qué devuelve?¿Nulo? Es que estaba haciendo pruebas y no lo entiendo, a ver, he echo lo siguiente:

Categorias cat=(Categorias)session.load(Categorias.class,"NoE xiste");
System.out.println("Primero dndtro del dao "+cat.getNombre());

Ese valor no esta en la BD por lo que en teoria no deberia devilver nada, sin embargo me imprime NoExiste, ¿alguien me puede explicar por qué?¿Como puedo entoncs saber si un dato existe o no existe en funcion de lo devuelto en el objeto cat?

Gracias por adelantado
  #2 (permalink)  
Antiguo 29/01/2009, 06:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 121
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Duda basica con hibernate

NO hace falta que me respondais, por fin e encintrado el motivo por ahi en internet:

"Cuando hacemos sesison.get() es porque no sabemos si el objeto que estamos solicitando existe o no en la base de datos, por lo tanto Hibernate hace la consulta a la base de datos de forma inmediata. Si no se encontrara el objeto en la base de datos, el método get() devuelve null.

Sin embargo al usar session.load() estamos dejando claro a Hibernate que sabemos con seguridad que el objeto que estamos solicitando sí que existe en la base de datos. En este caso Hibernate no hace la consulta de forma inmediata, sino que espera hasta que accedamos al objeto para hacer la consulta."


Gracias y saludos
  #3 (permalink)  
Antiguo 11/11/2010, 02:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda basica con hibernate

hola,


tengo una duda, estoy mirando esto del get(), la cuestion es que yo le paso un objeto usuario, pero no sé como montar el metodo.

Yo tengo:
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.openSession();
s.get(usuario);// AQUI ES DONDE NO ME QUEDA CLARO QUE LE PASO??

y despues como siguiria??

if (....)??? yo solo quiero saber si existe el objeto o no.

Gracias!
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 22:23.