Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/11/2013, 09:09
malome88
 
Fecha de Ingreso: noviembre-2013
Mensajes: 26
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Problema aplicación JSF + EJB + Schedule Primefaces

He mirado y pone JTA. Respecto a lo que me comentas que falta en el ejemplo para que "funcion", que es? Es que no se a que te refieres.

Código:
    public void modificarCita(Cita cita) {
        citaFacade.edit(cita);
    }
Código:
@Stateless
public class CitaFacade extends AbstractFacade<Cita> {
    @PersistenceContext(unitName = "Mega-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public CitaFacade() {
        super(Cita.class);
    }
    
}
Código:
public abstract class AbstractFacade<T> {
    private Class<T> entityClass;

    public AbstractFacade(Class<T> entityClass) {
        this.entityClass = entityClass;
    }

    protected abstract EntityManager getEntityManager();

    public void create(T entity) {
        getEntityManager().persist(entity);
    }

    public void edit(T entity) {
        getEntityManager().merge(entity);
    }

    public void remove(T entity) {
        getEntityManager().remove(getEntityManager().merge(entity));
    }

    public T find(Object id) {
        return getEntityManager().find(entityClass, id);
    }

    public List<T> findAll() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        return getEntityManager().createQuery(cq).getResultList();
    }
}
Ahí te pongo todos los métodos, para que veas exactamente lo que hace. Las clases Facade son generadas automáticamente en netbeans creado un Session Beans for Entity Classes.