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

hibernate

Estas en el tema de hibernate en el foro de Java en Foros del Web. Hola, tengo una una aplicación web donde el usuario se puede registrar mediante hibernate y una base de datos hsqldb, con usuario y contraseña. Ahora ...
  #1 (permalink)  
Antiguo 10/11/2010, 09:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
hibernate

Hola,


tengo una una aplicación web donde el usuario se puede registrar mediante hibernate y una base de datos hsqldb, con usuario y contraseña.

Ahora quiero ademas de registrarse, quiero que tambien el usuario se pueda logar. De tal manera que al poner las credenciales el programa compruebe si el usuario esta registrado, si lo esta lo deja entrar si no no.

Tengo funcionando la primera parte de registrarse, pero la segunda no sé como hacerlo, no sé como recorrer una tabla sql, y menos con hibernate.

Gracias,
  #2 (permalink)  
Antiguo 10/11/2010, 09:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: hibernate

Wenas, para ver si un usuario esta en la base de datos, tienes que añadir un método en tu DAO, a los que ya tienes por defecto al heredar de HibernateDaoSupport.

Imagino que tendrás un "userDAO.java" o similar:

A esa clase debes añadirle el siguiente método:

Código:
	public User getUserFromUsername(String username){

		DetachedCriteria criteria=DetachedCriteria.forClass(User.class);
		criteria.add(Restrictions.eq("username", username));
		
		List<User> users = findByCriteria(criteria);
 
		if(users.size()>0){
			return users.get(0);
		}
		return null;
	}
Ese método te devuelve el usuario si lo encuetra o null en caso de no existir.
  #3 (permalink)  
Antiguo 10/11/2010, 10:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: hibernate

Wenas,

si el UserDAO lo tengo pero solo tengo un metodo, que es el que me hacer guardar los objetos en la db:

public static boolean registerUser(User u) {

SessionFactory sf = HibernateUtil.getSessionFactory();
Transaction t = null;
try {
Session s = sf.openSession(); //se abre una sesion
t = s.beginTransaction(); // se inicia una unidad de trabajo
s.persist(u);
s.save(u); //guardamos
t.commit(); // confirmamos la transaccion
return true;
}
catch(Exception ex) {
System.err.println("Error -->" + ex.getMessage());
if ( t!=null) t.rollback(); // tiramos para atras la transaccinn
return false;
}//finally {
//sf.close(); //cierra sesion
//}
}


Entonces el que me has puesto aqui necesitaré el dao support?

gracias,
  #4 (permalink)  
Antiguo 11/11/2010, 02:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: hibernate

Si tienes una clase:
Código:
public abstract class GenericHibernateDAO<E> extends HibernateDaoSupport implements GenericDAO<E>{...
y si haces que UserDAO extienda de GenericHibernateDAO<Usuario> tendrías acceso desde UserDAO a todos los métodos estandar de Hibernate ya implementados: inserción, borrado, listado, etc

public List<E> findBy(E example) {}
public void remove(E entity) {}
public Object save (E entity){}
public void update (E entity){}
... etc

Además puedes añadirle los que necesites como el getUserFromUsername(String username).
  #5 (permalink)  
Antiguo 11/11/2010, 02:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: hibernate

que jar necesito el hibernate3.jar?

Yo estoy trabajando con struts2 y no con spring.

no encuentro el GenericHibernateDAO

Gracias,
  #6 (permalink)  
Antiguo 11/11/2010, 04:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: hibernate

Si, yo uso ese jar, pero trabajo con Spring... con struts ya no tengo ni idea, lo siento!
  #7 (permalink)  
Antiguo 11/11/2010, 08:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: hibernate

oK, pues ya que tu utilizas spring, no podrias recomendarme algun tutorial que este bien para empezar (spring /hibernate)?

Esque estoy metiendome en el mundillo y ya se que en google hay mucho, lo malo esque hay demasiado y nose cual escoger..

gracias!
  #8 (permalink)  
Antiguo 12/11/2010, 02:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: hibernate

Mírate el Step-By-Step de Spring:

http://static.springsource.org/docs/...-step-by-step/

Aunque creo que ese tutorial es para Spring 2.5. que está bien para empezar, para luego dar el paso a Spring 3 donde se trabaja con annotations de java para inyectar cualquier servicio en el controlador sin necesidad de utilizar codigo xml.
Si te miras el manual de referencia de Spring de primeras, vas a querer morirte, pero habiendo hecho el "paso a paso", puedes dar el salto a Spring 3 con mayor facilidad.
  #9 (permalink)  
Antiguo 15/11/2010, 02:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: hibernate

ok muchas gracias por el consejo!!

Etiquetas: hibernate
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 11:54.