package br.empresa;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.NonUniqueResultException;
import javax.persistence.Query;
import br.empresa.resources.HibernateEntityManagerFactory;
public class FuncionarioServiceImpl implements FuncionarioService {
private EntityManager em;
public FuncionarioServiceImpl(){
em = HibernateEntityManagerFactory
.getEntityManagerFactory().createEntityManager();
}
public Funcionario buscaFuncionarioPorNome(String nome)
throws FuncionarioNaoEncontradoException,
FuncionarioNaoUnicoException {
em.getTransaction().begin();
Query jpaql = em.createQuery("from Funcionario f where f.nome = :x");
jpaql.setParameter("x", nome);
Funcionario result = null;
try {
result = (Funcionario) jpaql.getSingleResult();
} catch (NoResultException e) {
throw new FuncionarioNaoEncontradoException();
} catch (NonUniqueResultException e) {
throw new FuncionarioNaoUnicoException();
}
em.getTransaction().commit();
return result;
}
public void excluir(Funcionario funcionario) {
em.getTransaction().begin();
em.remove(funcionario);
em.getTransaction().commit();
}
package br.empresa.web;
import java.util.List;
import br.empresa.Funcionario;
import br.empresa.FuncionarioNaoEncontradoException;
import br.empresa.FuncionarioNaoUnicoException;
import br.empresa.FuncionarioServiceImpl;
public class Procedimentos {
private FuncionarioServiceImpl servico = new FuncionarioServiceImpl();
private Funcionario funcionario;
public Procedimentos() {
System.out.println("\n\npassou pelo construtor");
funcionario = new Funcionario();
}
public Funcionario getFuncionario() {
return funcionario;
}
public void setFuncionario(Funcionario funcionario) {
this.funcionario = funcionario;
}
public List<Funcionario> getListaFuncionario()
throws FuncionarioNaoUnicoException,
FuncionarioNaoEncontradoException {
System.out.println("\n\nacessou o metodo getListaFuncionario");
return servico.carregarTudoOrdenadoNome();
}
public void excluirFuncionario(){
// this.servico.excluir(funcionario);
}
}