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

Urgentehibernate no se actualiza el cliente

Estas en el tema de Urgentehibernate no se actualiza el cliente en el foro de Java en Foros del Web. EL PROBLEMA ES QUE TENGO UNA APLICACION CLIENTE-SERVIDOR EN JAVA Y ESTOY UTILIZANDO HIBERNATE, PARA PODER INGRESAR EN EL CLIENTE SE TIENE QUE INGRESAR EN ...
  #1 (permalink)  
Antiguo 19/04/2010, 19:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 29
Antigüedad: 14 años, 2 meses
Puntos: 1
Urgentehibernate no se actualiza el cliente

EL PROBLEMA ES QUE TENGO UNA APLICACION CLIENTE-SERVIDOR EN JAVA Y ESTOY UTILIZANDO HIBERNATE, PARA PODER INGRESAR EN EL CLIENTE SE TIENE QUE INGRESAR EN LA PANTALLA PRINCIPAL UNA IDENTIFICACION, DICHA IDENTIFICACION DEBE SER INGRESADA Y ALMACENADA EN EL SERVIDOR, EL PROBLEMA ES QUE TENGO EL CLIENTE Y EL SERVIDOR CON LA APLICACION CORRIENDO, AL INGRESAR LOS DATOS EN EL SERVIDOR LOS ALMACENO, DE AHI INGRESO LA IDENTIFICACION EN EL CLIENTE PERO AL REALIZAR LA BUSQUEDA ME DEVUELVE QUE NO EXISTEN PERSONAS CON ESA IDENTIFICACION, DEBO REALIZAR ALGUNA OTRA OPERACION COMO LISTAR MEDICAMENTOS POR EJEMPLO, Y DESPUES DE ESTO INGRESO LA IDENTIFICACION Y YA ME LA IDENTIFICA QUE PUEDO HACER, EL CODIGO QUE UTILIZO PARA RECUPERAR EL ID ESTA EN LA SIGUIENTE CLASE EL METODO ES VERIFICASIEXISTE:

public class OperacionDAO {

public Session getSession() {
return Configuracion.currentSession();
}
public static Transaction tx;

public OperacionDAO() {

}

/* devuelve verdadero en caso de que exista en la base de datos el objeto a buscar*/
public boolean verificaSiExiste(String tabla, String columna, String dato) {
try {
getSession().flush();
tx =getSession().beginTransaction();
if (getSession().createSQLQuery("select " + tabla + "." + columna + " from " + tabla + " where " + columna + "='" + dato + "'").list().size() == 0) {
return false;
}
tx.commit();
} catch (HibernateException he) {
return false;
}
return true;
}

}


LA CLASE CONFIGURACION DE DONDE SE OBTIENE LA SESSION ES LA SIGUIENTE:

public class Configuracion {
public static final SessionFactory sessionFactory;

static {
try {
// Crea la SessionFactory desde hibernate.cfg.xml
File config=new File("hibernate.cfg.xml");
sessionFactory = new Configuration().configure(config).buildSessionFact ory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);

}
}

public static final ThreadLocal session = new ThreadLocal();

/*obtiene la sesion actual o la crea en caso de que no exista*/
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
if (s == null){
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static SessionFactory getSesion(){
return sessionFactory;
}
public static void cerrar(){
sessionFactory.close();
}
/*cierra la sesion*/
public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
if (s != null)
s.close();
session.set(null);
}

}
  #2 (permalink)  
Antiguo 01/07/2010, 10:52
Avatar de santana  
Fecha de Ingreso: mayo-2002
Mensajes: 90
Antigüedad: 22 años
Puntos: 0
Respuesta: Urgentehibernate no se actualiza el cliente

No se si te sirva pero una vez me paso algo similar y lo solucione poniendo el tag lazy=false o algo asi, lo puse en la configuracion hibernate (xml) de la tabla que estaba teniendo problemas, buscate por ahi como se hace eso, depronto sea eso.
Es todo lo que se me ocurre salu2!
  #3 (permalink)  
Antiguo 02/07/2010, 03:31
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Urgentehibernate no se actualiza el cliente

WEnas

Lo primero saca la query que estas ejecutando y ejecutala en tu BBDD.

Lo segundo, como consejo, cambia el = por un like.

Saludos.
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #4 (permalink)  
Antiguo 02/07/2010, 04:27
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Urgentehibernate no se actualiza el cliente

Hola

¿ Como estas ingresando los datos en la DB ?

Realmente creo que tu problema es de persistencia.
Recuerda que si los datos los son ingresados fuera de la sesion, siempre te va a decir que no existe el registro.

prueba Session.clear(); antes de hacer la consulta para que borres la persistencia y se vea obligado a consultar nuevamente a la DB.

Saludos.
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.

Etiquetas: cliente, actualizar
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 05:22.