Entrar
¿No tienes cuenta? Registrarse
SoloJava · Grupo de Usuarios Java de Venezuela
? ¿Ya tienes membresía? Entra a Yahoo!

Consejos

¿Sabías que...
Puedes decidir quién se inscribe en tu grupo. Tienes la opción de aprobar todas las suscripciones modificando las preferencias.

Mensajes

  Mensajes Ayuda
Avanzado
Hibernate - JSF (version 2)   Lista de mensajes  
Responder | Reenviar Mensaje #5272 de 5378 |
Re: [SoloJava] Hibernate - JSF (version 2)

Saludos Leo,
según lo que comentas, quieres mantener la información del usuario entre peticiones, por que no colocas el bean "pc_User" en el scope "session" y asi te evitas tanto dolor de cabeza??. En el momento que ya no necesites los datos del usuario (ya lo incluiste, lo borraste, cancelaste la operacion, etc) simplemente haces un user = new User() en tu manged bean.

Espero te ayude,

Leonardo Moreno escribió:

Hola de nuevo

Creo que no fui claro al tratar de explicar mi problema en el post
anterior, por eso voy a tratar de hacerlo de nuevo.

El problema que tengo no es por parte de Hibernate, es basicamente por
como funciona JSF

con un ejemplo debe quedar mas claro:

//Objeto mapeado por hibernate a una tabla "user" en la DB
clase User
{
nombreUsuario;
empresa;
fechaCreacion;
}

JSF
tengo una pagina con dos campos, nombreUsuario, empresa (El atributo
fechaCreacion del objeto user no esta asociado a ningun campo de la
pagina JSF).
Tengo un managed bean "pc_User" de scope "request" que tiene como
atributo un objeto de tipo User llamado user, por lo que el binding
mediante "EL" queda #{pc_User.user.nombreUsuario} y #{pc_User.user.empresa}

Tengo 2 actionListener
consultarUser(); //Consulta el usuario y lo asigna al objeto user del
managedBean
modificarUser(); //Modifica el usuario user del managedBean

Cuando consulto el usuario se asocian solo dos atributos a los campos de
la pagina excepto el atributo fechaCreacion, por lo tanto cuando llamo a
modificarUser como el atributo fechaCreacion no estaba asociado a ningun
campo, pierde el valor y queda nulo.

Dos soluciones posibles
1. Crear un inputHidden que se asocia con el atributo fechaCreacion,
esto permite que entre requests se mantenga el valor de este atributo.
2. Almacenar el objeto consultado en alguna parte para cuando se vaya a
hacer la modificacion recuperarlo y actualizar este atributo.
Ambas posibilidades efectivamente me solucionan el problema, pero
ninguna me parece elegante. En este caso y por ser un ejemplo solo hay
un atributo que pierde el valor pero en la aplicación que estoy
desarrollando me encuentro hasta con 30 atributos en esta situación.

Por eso pregunto a alguien que haya pasado por esto o tenga idea de como
solucionarlo que me tire una idea

De antemano gracias
--
Leonardo Moreno Guzmán
Ingeniero de sistemas y telemática | Asesor soluciones informáticas
*cell-phone:* 311-3390386
*e-mail:* leonardo.moreno@gmail.com
*site:* http://leo.logtar.com/profesional/




Mar, 22 de Ene, 2008 4:36 pm

jotacegea
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #5272 de 5378 |
Desplegar mensajes Autor Ordenar por fecha

Hola de nuevo Creo que no fui claro al tratar de explicar mi problema en el post anterior, por eso voy a tratar de hacerlo de nuevo. El problema que tengo no...
Leonardo Moreno
elcachanchan
Sin conexión Enviar correo
21 de Ene, 2008
2:54 pm

Saludos Leo, según lo que comentas, quieres mantener la información del usuario entre peticiones, por que no colocas el bean "pc_User" en el scope "session"...
Charlie Garcia
jotacegea
Sin conexión Enviar correo
22 de Ene, 2008
4:53 pm
Avanzado

Copyright © 2009 Yahoo! Inc. Todos los derechos reservados.
Normativa de confidencialidad - Condiciones del servicio - Reglas - Ayuda