Stringdocumento="'"+TF_NumeroDocumento.getText()+"'";intcod_fornecedor=Integer.parseInt(TFCodFornecedor_entMercadoria.getText());NotasPesq=bancoPUEntityManager.createQuery("SELECT n FROM Nfentrada n INNER JOIN n.codFornecedor f WHERE (f.codigo ="+cod_fornecedor+") AND (n.numerodoc="+documento+")");if(NotasPesq.getResultList().isEmpty()){jButton5ActionPerformed(evt);}else{Nfentradai=newNfentrada();i=(Nfentrada)NotasPesq.getSingleResult();JOptionPane.showMessageDialog(null,i.getCodFornecedor().getBairro());
Esta pesquisa funciona perfeitamente com registros já contidos no banco antes de executar o .jar, se durante a execução eu incluir um novo registro no banco e fazer esta pesquisa o trecho JOptionPane.showMessageDialog(null,i.getCodFornecedor().getBairro()); me retorna null e com isso acontece o erro.
Se eu sair do programa e executar denovo a pesquisa funciona… por favor o que está contecendo?
:shock:
quem quizer que eu explique melhor ou alguém que queira me ajudar, meu msn é [email removido]
eu queria entender porque que o JOptionPane.showMessageDialog(null,i.getCodFornecedor().getBairro) retorna null quando executado com registros inclusos no banco após a execução do .jar
vanderlanio
Palpite . . .
Realize um debug, e capaz de ele não esta dando o commit logo apos inserir o novo registro, sendo assim o codigo do fornecedor pode ainda não ter sido gerado (sequence) e ele esta retornando nulo !
D
darkmind
Vanderlanio
olha só esse código
publicvoidconfirmanf(Nfentradaupdatenota){EntityManagerem=getEntityManager();try{em.getTransaction().begin();em.merge(updatenota);em.getTransaction().commit();JOptionPane.showMessageDialog(null,"INCLUSÃO REALIZADA COM SUCESSO!");}catch(Exceptionex){JOptionPane.showMessageDialog(null,"Não foi Possível Fazer a Alteração! Erro:\n\n"+ex);em.getTransaction().rollback();}finally{em.close();}}ASsimqueéexecutádoessecódigoseeuabriroQueryBrowsereuvejooregistrogravadodireitinhonobancosóqueapesquisacitadanotópiconãofunciona,somenteseeufechareabriroprogramadenovo:(
ASsim que é executádo esse código se eu abrir o Query Browser eu vejo o registro gravado direitinho no banco só que a pesquisa citada no tópico não funciona, somente se eu fechar e abrir o programa denovo
vanderlanio
Ative o log (JPA) e cole ai pra gente da uma olhada !
também retorna null, qualquer relacionamento que eu use retorna nulo, se eu fechar e abrir o programa… a pesquisa funciona, se eu incluir um novo registro, esse novo registro não funciona na pesquisa… mas os antigos funcionam…
vanderlanio
Eu queria da uma olhada e no log gerado pelo Hibernate ! ( para ver os sql gerados )
D
darkmind
Pessoal já resolvi o erro, na verdade não tinha erro no código que eu passei era cabeçada que eu estava dando atoa, tava passando valor null em outro lugar do programa, ai nunca que ia funcionar, agradeço a ajuda Mesmo