Do not register in JavaWeb Bank PrimeFaces

0

ProductDao:

 public class ProdutoDao implements IDao<Produto> {

     @Override
    public List<Produto> listar() {
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            Query query = session.createQuery("from Produto pro");
            List<Produto> produtos = query.list();
            if (produtos.isEmpty() || produtos == null) {
                return null;
            } else {
                return produtos;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return new ArrayList<Produto>();
        } finally {
            session.close();
        }
    }

    @Override
    public void inserir(Produto t) {
        Session session = null;
        Transaction transaction = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            transaction = session.beginTransaction();
            session.save(t);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{ session.close(); }
    }

    @Override
    public void alterar(Produto t) {
        Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            session.saveOrUpdate(t);
            session.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{ session.close(); }
    }

    @Override
    public void deletar(Produto t) {
       Session session = null;
        try {
            session = HibernateUtil.getSessionFactory().openSession();
            Transaction beginTransaction = session.beginTransaction();
            Query query = session.createQuery("delete from produto p where p.id = :id");
            query.setParameter("id", t.getId());
            query.executeUpdate();
            beginTransaction.commit();
        } catch (Exception e) {
        } finally {

            session.close();
        }    
    }

}

IDao:

public interface IDao<T> {
    public List<T> listar();
    public void inserir(T t);
    public void alterar(T t);
    public void deletar(T t);
}

ProductBean:

public class ProdutoBean {
    private Produto produto;
    private List<Produto> produtos;

    public ProdutoBean() {
        produto = new Produto();
        produtos = new ProdutoDao().listar();
    }

    public void inserir() {
        ProdutoDao produtoDao = new ProdutoDao();
        if (produto.getId() != null && produto.getId() > 0) {
            produtoDao.alterar(produto);
        } else {
            produtoDao.inserir(produto);
        }
        produto = new Produto();
        produtos = produtoDao.listar();
    }

    public void editar(Produto pro) {
        this.produto = pro;
    }
    public void deletar(Produto pro) {
        ProdutoDao produtoDao = new ProdutoDao();
        produtoDao.deletar(pro);
        produto = new Produto();
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public List<Produto> getProdutos() {
        return produtos;
    }

    public void setProdutos(List<Produto> produtos) {
        this.produtos = produtos;
    }



}

Registration Screen:

<f:view contentType="text/html">
    <h:head>
        <f:facet name="first">
            <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
            <title>PrimeFaces</title>
        </f:facet>
    </h:head>
    <h:body>
        <p:layout fullPage="true">
            <p:layoutUnit position="center">
                <h:form id="frmCadastro">
                    <h:panelGrid id="grid" columns="3" cellpadding="5">

                        <p:outputLabel for="nome"  value="Nome: "></p:outputLabel>
                        <p:inputText id="nome" value="#{produtoBean.produto.nome}" />
                        <p:message for="nome"/>

                        <p:outputLabel for="quantidade"  value="Quantidade de Produto: "></p:outputLabel>
                        <p:spinner id="quantidade" min="10" max="20"
                                   value="#{produtoBean.produto.qtd}" />
                        <p:message for="quantidade"/>

                         <p:outputLabel for="data_cad"  value="Data de Cadastro: "></p:outputLabel>
                        <p:calendar id="data_cad" pattern="dd/MM/yyyy" mask="true"
                                    pages="2" value="#{usuarioBean.usuario.dataCad}" />
                        <p:message for="data_cad"/>

                    </h:panelGrid>

                    <p:commandButton id="submitForm" value="Salvar" update="grid" 
                                     action="#{produtoBean.salvar()}"/>


                    <p:separator ></p:separator>
                    <p:dataTable var="p" value="#{produtoBean.produtos}" rows="3"
                                 paginator="true">
                        <p:column headerText="Nome">
                            <h:outputText value="#{p.nome}"/>
                        </p:column>

                        <p:column headerText="Data de Cadastro">
                            <h:outputText value="#{p.dataCad}" />
                        </p:column>
                        <p:column headerText="Operações">
                            <p:commandButton value="Editar" action="#{produtoBean.alterar(p)}" update="@form"></p:commandButton>
                            <p:commandButton value="Deletar" 
                                             action="#{produtoBean.deletar(p)}" update="@form"></p:commandButton>
                        </p:column>
                    </p:dataTable>
                </h:form>
            </p:layoutUnit>
        </p:layout>
    </h:body>
</f:view>

    
asked by anonymous 14.11.2018 / 16:01

1 answer

0

Have you run the project in debug mode? If yes, is the insert method of ProductDao invoked? Is every try run without any error?

If you have not yet run the project in debug, run it and let us know if there is any error in the console.

    
16.11.2018 / 17:56