public Object login(String login, String senha, String perfil) throws Exception {

    Object objeto = null;

    try {

      if (perfil.equals("anunciante")) {
        objeto = anuncianteDAO.recuperaPorLoginESenha(login, senha);
      } else {
        if (perfil.equals("usuario")) {
          objeto = usuarioDAO.recuperaPorLoginESenha(login, senha);
        } else {
          if (perfil.equals("administrador")) {
            objeto = administradorDAO.recuperaPorLoginESenha(login, senha);
          }
        }
      }
    } catch (Exception e) {
      String msg = null;
      if (perfil.equals("anunciante")) {
        msg = "Anunciante não cadastrado ou senha incorreta, tente novamente";
      } else {
        if (perfil.equals("usuario")) {
          msg = "Usuário não cadastrado ou senha incorreta, tente novamente";
        } else {
          if (perfil.equals("administrador")) {
            msg = "Administrador não cadastrado ou senha incorreta, tente novamente";
          }
        }
      }
      throw new ExcecaoNegocio(msg);
    }

    return objeto;
  }
 public void salvar(Usuario usuario) {
   usuarioDAO.save(usuario);
 }
 public Usuario recuperarUsuario(Long id) {
   return usuarioDAO.findById(id);
 }