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

consulta hql

Estas en el tema de consulta hql en el foro de Java en Foros del Web. hola a todos estoy haciendo una pequeña tontería en j2ee y para hacer llamadas a la base de datos uso hibernate mi consulta es la ...
  #1 (permalink)  
Antiguo 29/02/2012, 10:04
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
consulta hql

hola a todos estoy haciendo una pequeña tontería en j2ee y para hacer llamadas a la base de datos uso hibernate mi consulta es la siguiente, con interfaz gráfica uso el framework ZK, tengo estos métodos para comprobar el login es correcto:

Código java:
Ver original
  1. private boolean buscarPorLogin(String nombre){ // comprobamos si existe el usuario en la base de datos
  2.         boolean encontrado = false;
  3.         Session sess = currentSession();
  4.         //sess.createQuery("from MIEMBRO").list();
  5.         String hql = "select nombre from MIEMBRO where nombre='"+nombre+"'";
  6.         Query query = sess.createQuery(hql);
  7.         if (query != null){
  8.             encontrado = true;
  9.         }else{
  10.             return encontrado;
  11.         }
  12.         return encontrado; 
  13.     }
  14.      
  15.     private boolean buscarPorPassword(String password){ // comprobamos si existe password en la base de datos
  16.         boolean encontrado = false;
  17.         Session sess = currentSession();
  18.         String hql = "select nombre from MIEMBRO where nombre='"+password+"'";
  19.         Query query = sess.createQuery(hql);
  20.         if(query !=null){
  21.             encontrado = true;
  22.         }else{
  23.             return encontrado;
  24.         }
  25.         return encontrado;
  26.     }
  27.    
  28.     public boolean autenticarUsuario(String nombre, String password){ // autentica al usuario en caso de que nombre y password sean correctas
  29.         if((buscarPorLogin(nombre)) && (buscarPorPassword(password))){
  30.             return true;
  31.         }else{
  32.         return false;
  33.         }
  34.     }

el problema es que cuando lo ejecuto me da el siguiente error ZK:
createQuery is not valid without active transaction
y no se a que puede ser debido

muchas gracias a todos por la ayuda
  #2 (permalink)  
Antiguo 01/03/2012, 05:01
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: consulta hql

//Para la de buscar por password Revisa a partir de la linea 18 ... debería quedarte algo como....
String hql = "select nombre from MIEMBRO where nombre=:password";
Query queryList = getHibernateTemplate().getSessionFactory()
.getCurrentSession().createQuery(hql);

if (password != null) {
queryList.setParameter("password ", password );
}

if (queryList.list() != null && !queryList.list().isEmpty()) {
encontrado = true;
}
return encontrado;
}

// Para el login sería algo similar
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 16/10/2012, 07:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: consulta hql

Buenas Yo estoy tengo una duda con respecto a una consulta donde se le pasa por parametros un dato de tipo Date. me da el siguiente Error: Estado HTTP 500 - Request processing failed; nested exception is org.hibernate.exception.SQLGrammarException: ERROR: operator does not exist: timestamp without time zone = character varying. Al parecer es porq el parametro que recibe es de tipo String y el espera un tipo fecha.. Mi pregunta es como puedo resolver esto.. aki les dejo el metodo para que me ayuden si pueden...

public DiasDeaspacho listadoDespacho(String fecha) {
System.out.println("--------------------paso a buscar la fecha---------------------");
DiasDeaspacho f = (DiasDeaspacho) currentSession()
.createQuery("from DiasDeaspachoImpl where fecha= :fecha")
.setString("fecha", fecha).uniqueResult();
session.close();
System.out.println("--------------------paso a retornar la consulta de la fecha---------------------");
return f;
}

Etiquetas: string
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 13:52.