Foros del Web » Programación para mayores de 30 ;) » Java »

implementar metodo editar o remover en patron facade

Estas en el tema de implementar metodo editar o remover en patron facade en el foro de Java en Foros del Web. hola! Estoy tratando de entender el patrón de fachada utilizando el asistente netbeans, pero no entiendo por qué enviar T entidad a este void; public ...
  #1 (permalink)  
Antiguo 15/04/2015, 10:51
 
Fecha de Ingreso: abril-2009
Mensajes: 36
Antigüedad: 15 años, 7 meses
Puntos: 0
implementar metodo editar o remover en patron facade

hola! Estoy tratando de entender el patrón de fachada utilizando el asistente netbeans, pero no entiendo por qué enviar T entidad a este void; public void edición (T entidad) y sin una id o pk como se usa en este metodo

Código:
public void edición (long id)
lo mismo para el método remove
Código:
public void remove (T entidad)
public void remove (long id)
en la clase facade esta:

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();
}

public List<T> findRange(int[] range) {
    javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
    cq.select(cq.from(entityClass));
    javax.persistence.Query q = getEntityManager().createQuery(cq);
    q.setMaxResults(range[1] - range[0] + 1);
    q.setFirstResult(range[0]);
    return q.getResultList();
}

public int count() {
    javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
    javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
    cq.select(getEntityManager().getCriteriaBuilder().count(rt));
    javax.persistence.Query q = getEntityManager().createQuery(cq);
    return ((Long) q.getSingleResult()).intValue();
}
}
lo ideal es encontrar el id con find(object id) y luego tomar la entidad y ejecutar el metodo edit(T entity)
alguien sabe o tiene un codigo para esta accion???
  #2 (permalink)  
Antiguo 15/04/2015, 12:56
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: implementar metodo editar o remover en patron facade

Buenas,

Cita:
lo ideal es encontrar el id con find(object id)
Lo que dices no tiene sentido. El find te permite recuperar una entidad a partir de su id, no lo contrario.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: clase, implementar, metodo, netbeans, patron, remover
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:46.