@Transactional
 public void grava() {
   if (produto.getPreco() != 0) {
     if (produto.getId() == null) dao.adiciona(produto);
     else dao.atualiza(produto);
     this.produtos = dao.listaTodos();
     limparFormularioJSF();
   }
 }
  public List<Produto> getProdutos() {
    if (produtos.isEmpty()) {
      System.out.println("Carregando Produtos..");
      produtos = dao.listaTodos();
    }

    return produtos;
  }
 @Transactional
 public void remove(Produto produto) {
   dao.remove(produto);
   this.produtos = dao.listaTodos();
 }