Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2014, 15:12
malome88
 
Fecha de Ingreso: noviembre-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Problema JSF + EJB + JPA

Intento resumir lo posible el problema:

Voy directo a la parte de la aplicación que no entiendo su comportamiento. Esto implica 3 clases. La clase cliente se une con la clase cita (relación 1-n), y la clase cita se une con la clase factura (relación 1 a 1).

A la hora de mostrar el histórico de citas de un cliente lo muestra correctamente. En la tabla muestro información tanto de la cita (fecha) como de la factura (precio). El problema es que al facturar una cita, y tras esto ir al histórico, en esa tabla no recupera la información de la factura, cuando a mi parecer sí que debería de cogerla. En cambio al iniciar la aplicación de nuevo (se genera de nuevo el backing bean y managed bean), sí que lo muestra.

Pongo los métodos para que veáis:

hMB(backing bean):

Código:
    public String getCitas(Cliente c){
        this.citas = hLN.getCitas(c);
        return "hC";
    }
hLN(managed bean):

Código:
    public List<Cita> getCitas(Cliente c){  
        List<Cita> citas;
        citas = citaFacade.citasDeCliente(c);
        return citas;
    }
En citaFacade.citasDeCliente(c); hago una consulta JPA que devuelve el listado de las citas de ese cliente (funciona correctamente).

En el .xhtml en la tabla accedo de la siguiente forma:

<p:outputLabel value="#{cita.fechaIni}" >

<p:outputLabel value="#{cita.factura.precio}" />

El problema es que las cada vez que entro a getCitas lo hace correctamente, pero parece que la relación con factura no lo coge bien hasta que el backing bean no se genera de nuevo, la columna precio sale como vacía hasta entonces.

A ver si alguien me puede explicar este comportamiento.

Un saludo y gracias!