Não estou conseguindo salvar o dado do Objeto no banco

3 respostas
hhullck

Eu estou tentando salvar o dado no banco com hibernate, mas não esta salvando, nem dando erro.
Aguem sabe o que fiz de errado ?

O codigo e o seguinte:
Usuario clica no botao salvar > Sistema verifica se todos campos foram preechidos > Preenche o objeto > chama o metodo para salvar.
O codigo abaixo:

//evento do Botao
private void jBntSalvarActionPerformed(java.awt.event.ActionEvent evt) {
        if(verifica_preenchimento()){
            Tbproduto produto = pega_Dados();
            Funcoes_Banco fun = new Funcoes_Banco();
            fun.salvarProduto(produto);
        }
    }//fim do evento do botao

//verificando se todos os campos foram preenchidos
 private boolean verifica_preenchimento() {
       if( jTxtNmProduto.getText().trim().isEmpty()){
           return false;
       }
       if ( jTxtDescricao.getText().trim().isEmpty() ){
           return false;
       }
       if ( jCmbMarca.getSelectedItem().equals("") ){
           return false;
       }
       if ( jCmbTipo.getSelectedItem().equals("")){
           return false;
       }
       if ( jTxtCdBarra.getText().trim().isEmpty()){
           return false;
       }
       return true;
    }//fim do metodo verifica_preenchimento


//preenchendo o Objeto 
 private Tbproduto pega_Dados() {
      Tbproduto pro = new Tbproduto();
      pro.setCdProduto(Integer.parseInt(jTxtCdProduto.getText()));
      pro.setNmProduto(jTxtNmProduto.getText());
      pro.setDescricao(jTxtDescricao.getText());
      pro.setMarca((Tbmarca) jCmbMarca.getSelectedItem());      
      pro.setTipo((Tbtipo) jCmbTipo.getSelectedItem());
      pro.setCodBarra(jTxtCdBarra.getText());
      pro.setStatus(1);
      pro.setPrecoUnit(0.0);
      pro.setPrecoVenda(0.0);
      return pro;
    }//fim do meotodo pega Dados


//salvando o dado
 public void salvarProduto(Tbproduto produto) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            session.save(produto);
            session.flush();
            session.getTransaction().commit();
            session.close();
        } catch (HibernateException he) {
            he.printStackTrace();
        }
    }//fim do metodo salvar produto

3 Respostas

hhullck

Melhor quando eu coloco o codigo :

session.getTransaction().commit();

Da o erro a seguir :

org.hibernate.TransactionException: Transaction not successfully started
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:100)
        at Telas.ui.Funcoes_Banco.salvarProduto(Funcoes_Banco.java:97)
        at Telas.ui.CadastroProduto.jBntSalvarActionPerformed(CadastroProduto.java:298)
        at Telas.ui.CadastroProduto.access$100(CadastroProduto.java:26)
        at Telas.ui.CadastroProduto$2.actionPerformed(CadastroProduto.java:103)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
yoshikichi
public void salvarProduto(Tbproduto produto) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
//inicia a transaction
           session.getTransaction().begin();
            session.save(produto);
       
            session.getTransaction().commit();
            session.close();
        } catch (HibernateException he) {
            he.printStackTrace();
        }
    }//fim do metodo salvar produto
hhullck

Vlw muito obrigado yoshikichi !!

:slight_smile:

Criado 21 de novembro de 2011
Ultima resposta 21 de nov. de 2011
Respostas 3
Participantes 2