Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/01/2014, 12:52
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Problema JSF + EJB + JPA

Hola,

Cita:
Iniciado por malome88 Ver Mensaje
... como hago lo que comentas de hacerlo en otra transacción? ...
En algún lugar de tu aplicación se realiza una transacción, normalmente los EJB son transaccionales, pero no sabemos cuales son los límites de la transacción en tu aplicación, donde se inicia y donde termina.

Normalmente los Managed Beans no son transaccionales, aunque se pueden extender las transacciones hasta estos no es adecuado. Si esa fuera la arquitectura de tu aplicación con hacer un refresh antes del findAll debería funcionar.

Código Java:
Ver original
  1. public String getCitas(Cliente c){
  2.   hLN.updateCliente(c); // Método que haría el Upate.
  3.   this.citas = hLN.getCitas(c);
  4.   return "hC";
  5. }
Aunque no es seguro que funcione porque depende de la estructura y los límites de la transacción de tu aplicación.

Cita:
Iniciado por malome88 Ver Mensaje
... He añadido lo siguiente: em.getEntityManagerFactory().getCache().evictAll() ;
y parece que funciona. ...
Exactamente, borrando la cache es otro método, o desactivando la cache en el Persistence Unit. El único problema es que borra todos los caches; y otra vez, dependiendo de tu aplicación esto es algo que posiblemente no quieras hacer por motivos de desempeño.

Todo depende de tu aplicación y la forma que te funcione mejor.

Saludos,