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/