Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/11/2013, 21:34
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema aplicación JSF + EJB + Schedule Primefaces

Hola,

Posiblemente,

Cita:
Iniciado por malome88 Ver Mensaje
En citaFacade.finAll() hace un merge.
¿Por qué en un findAll pones un merge?

Si el método se llama findAll debería solamente hacer un Query donde busca todos los registros o entities y devolver una colección de estos. Si cada vez que llamas a recuperarTodasCitas(), llama a findAll y allí hace un merge() entonces (posiblemente) ya estás persistiendo la información y por eso devuelve las entidades ya modificadas.

Por ejemplo:

Cita:
Iniciado por malome88 Ver Mensaje
[CODE]
eventModel.addEvent(new DefaultScheduleEvent(citas.get(i).getNombre(), citas.get(i).getFechaIni(), citas.get(i).getFechaFin(), citas.get(i)));
El último parámetro es la Entidad y esa entidad está 'attached'.

Cita:
Iniciado por malome88 Ver Mensaje
Código:
        
public void onEventMove(ScheduleEntryMoveEvent event) {  
        List<Cita> listaCitas = citaLN.recuperarTodasCitas();
...
        Cita cita = (Cita) ev.getData();
        citaLN.modificarCita(cita);
    }
Si en recuperarTodasCitas() hay un merge, en ese momento se hace persistente. (El merge busca una Entidad attached con el mismo Id y la actualiza). Cuando llega a modificarCita() ya está actualizada la cita.

Saludos,