public Vidro carregarVidroCompleto(Integer id) {
   Vidro vidro = null;
   List<Vidro> resultado = vidroDao.recuperarVidroCompleto(id);
   if (!resultado.isEmpty()) {
     vidro = resultado.get(0);
   }
   return vidro;
 }
 @Transactional(
     propagation = Propagation.REQUIRED,
     readOnly = false,
     rollbackFor = ReikiException.class)
 public Vidro gravarVidro(Vidro vidroCadastro) throws ReikiException {
   try {
     if (vidroCadastro.getId() == null) {
       vidroCadastro = (Vidro) vidroDao.persistir(vidroCadastro);
     } else {
       vidroCadastro = (Vidro) vidroDao.atualizar(vidroCadastro);
     }
   } catch (Exception e) {
     if (Util.verificarErroIntegrityConstraint(e)) {
       throw new ReikiException("msg.geral.existe.registro.duplicado");
     } else {
       LOGGER.error("Metodo: gravarVidro", e);
       throw new ReikiException("msg.geral.falha.cadastrar.registro");
     }
   }
   return vidroCadastro;
 }
 @Transactional(
     propagation = Propagation.REQUIRED,
     readOnly = false,
     rollbackFor = ReikiException.class)
 public void deletarVidro(Integer id) throws ReikiException {
   try {
     vidroDao.deletar(id);
   } catch (Exception e) {
     if (Util.verificarErroIntegrityConstraint(e)) {
       throw new ReikiException("msg.geral.registro.utilizado");
     } else {
       LOGGER.error("Metodo: deletarVidro", e);
       throw new ReikiException("msg.geral.falha.excluir.registro");
     }
   }
 }
 public Vidro carregarVidro(Integer id) {
   return (Vidro) vidroDao.carregar(id);
 }
 public List<Vidro> consultarVidro(Vidro vidro) {
   return vidroDao.consultarVidro(vidro);
 }