package gcom.cadastro.funcionario; import gcom.util.ErroRepositorioException; import gcom.util.HibernateUtil; import org.hibernate.HibernateException; import org.hibernate.Session; /** * O reposit�rio faz a comunica��o com a base de dados atrav�s do hibernate. O * cliente usa o reposit�rio como fonte de dados. * * @author S�vio Luiz * @created 25 de Agosto de 2005 */ public class RepositorioFuncionarioHBM implements IRepositorioFuncionario { private static IRepositorioFuncionario instancia; /** * Construtor da classe RepositorioEnderecoHBM */ private RepositorioFuncionarioHBM() { } /** * Retorna o valor de instancia * * @return O valor de instancia */ public static IRepositorioFuncionario getInstancia() { if (instancia == null) { instancia = new RepositorioFuncionarioHBM(); } return instancia; } public Integer verificarExistenciaFuncionario(Integer idFuncionario) throws ErroRepositorioException { Integer retorno = null; Session session = HibernateUtil.getSession(); String consulta = null; try { consulta = "select count(f.id) " + "from Funcionario f " + "where f.id = :idFuncionario"; retorno = (Integer) session.createQuery(consulta).setInteger( "idFuncionario", idFuncionario.intValue()).setMaxResults(1) .uniqueResult(); } catch (HibernateException e) { // levanta a exce��o para a pr�xima camada throw new ErroRepositorioException(e, "Erro no Hibernate"); } finally { // fecha a sess�o HibernateUtil.closeSession(session); } return retorno; } }