Pessoal estou dando manutenção em um sistema feito em JSF + JPA, gostaria de saber se não é possível deixar esta classe mais legível :
preciso fazer 5 linhas de código exemplo:
tipo:
EntityManager em = JPAUtil.getInstance().getEntityManager();
carg = em.getReference(Cargo.class, carg.getId());
em.remove(carg);
em.getTransaction().commit();
em.close();
por este :
public int addCadEquipamentoDAO (CadastrarEquipamento cade){ saveOrUpadatePojo(cade); System.out.println("SALVOU"); return cade.getCodigoequipamento(); }
package br.manutec.dao;
import br.manutec.entities.Cargo;
import br.manutec.util.JPAUtil;
import java.util.List;
//import javax.faces.context.FacesContext;
import javax.persistence.Query;
import javax.persistence.EntityManager;
public class CargoDAO {
private static final long serialVersionUID = 1L;
public String inserirCargo(Cargo carg) {
EntityManager em = JPAUtil.getInstance().getEntityManager();
em.persist(carg);
em.getTransaction().commit();
em.close();
return null;
}
public Cargo retornarCargo(int idCargo) {
return JPAUtil.getInstance().getEntity(Cargo.class, idCargo);
}
public Cargo retornarCargo(String descricao) {
EntityManager em = JPAUtil.getInstance().getEntityManager();
Query qr = em.createQuery("select carg from Cargo carg where carg.descricao = ?1");
qr.setParameter(1, descricao);
Cargo toReturn = (Cargo) qr.getSingleResult();
em.getTransaction().commit();
em.close();
return toReturn;
}
public void removerCargo(Cargo carg) {
EntityManager em = JPAUtil.getInstance().getEntityManager();
carg = em.getReference(Cargo.class, carg.getId());
em.remove(carg);
em.getTransaction().commit();
em.close();
}
public void removerCargoPorId(int idCargo) {
EntityManager em = JPAUtil.getInstance().getEntityManager();
em.remove(em.find(Cargo.class, idCargo));
em.getTransaction().commit();
em.close();
}
public void atualizarCargo(Cargo carg) {
EntityManager em = JPAUtil.getInstance().getEntityManager();
em.merge(carg);
em.getTransaction().commit();
em.close();
}
public List<Cargo> listarTodosCargos() {
return JPAUtil.getInstance().getList(Cargo.class, "select carg from Cargo carg");
}
public List<Cargo> listarCargoPorNome(Cargo carg) {
return JPAUtil.getInstance()
.getList(Cargo.class, "select carg from Cargo carg where carg.descricao like '%" + carg.getDescricao() + "%'");
}
public Boolean existeCargo(String descricao) {
Boolean existe = true;
EntityManager em = JPAUtil.getInstance().getEntityManager();
Query qr = em.createQuery("select carg from Cargo carg where carg.descricao = ?1");
qr.setParameter(1, descricao);
if (qr.getResultList().isEmpty()) {
existe = false;
}
em.getTransaction().commit();
em.close();
return existe;
}
}