public void delete(Integer id, Professor professor) throws IntranetException { Criteria arquivoProfessorDeleta = dao.getHibernateSession().createCriteria(Arquivo.class); arquivoProfessorDeleta.add(Restrictions.eq("id", id)); arquivoProfessorDeleta .createCriteria("professor") .add(Restrictions.eq("nome", professor.getNome())); Arquivo arquivoTemporarioDeleta = (Arquivo) arquivoProfessorDeleta.uniqueResult(); if (arquivoTemporarioDeleta == null) { // TODO Ocorreu um erro, tratar } else { dao.getHibernateTemplate().delete(arquivoTemporarioDeleta); } }