Olá amigos eu fiz o download dos arquivos da revista javamagazine edição 68 e estou tentando executar o projeto DesenvolvimentoDesktop Parte3, criei o banco de dados e configurei o arquivo xml(caminho do banco de dados) só que quando tento salvar os dados na aplicação da o seguinte erro:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Eu importei tudo da pasta e na Refenced Libraries eu visualizo o log4.jar … teria que fazer mais algum tipo de configuração?
Jair_Rillo_Junior
Isso é um Warning e não um Erro.
Se o comando executou sem erro e mesmo assim os dados não foram salvas no banco de dados, dá um verifica se a transação fez um COMMIT.
Ajuda também passar mais informações como, se esta usando JDBC, Hibernate, JPA. Mostrar o arquivo de configuração e por fim, a parte do código que dá “erro”
J
Joule
Blz… amigos o arquivo de configuração do banco de dados: Arquivo persistence.xml
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Dê um olhada no persistence.xml onde você seta as configurações do Banco. Principalmente se você consegue acessar o banco através do IP que você configurou lá
provavelmente você está tentando passar para o Hibernate inserir um campo Date mas esse deve ser outro tipo no banco de dados
como você está usando mysql pode fazer assim
depois você compara com os valores setados pelo hibernate, deve ser isso
J
Joule
Desculpa André não entendi?
Andre_Fonseca
oi
compare os atributos do objeto Cobranca com os atributos da tabela do mysql, é bem provavel que você esteja tentando salvar um tipo inválido
para saber os tipos dos campos da tabela é como falei acima
t+
J
Joule
Eu usei o describe cobranca como você falou e realmente é um campo date, e vi também que ele apresenta essa mensagem acima citada mas mesmo assim ele salva os dados no banco de dados (eu digito 01/01/2009 e no banco de dados é salvo 2009-01-01) teria mais alguma sugestão?
Andre_Fonseca
oi
como voce declarou os atributos do tipo Data na classe Cobranca? que tipo eles tem?
J
Joule
Segue a Classe Cobranca.java:
packagejm.cobrancas.entity;importjava.util.Date;importjava.util.Observable;importjavax.persistence.Entity;importjavax.persistence.Id;importjavax.persistence.Temporal;importjavax.persistence.TemporalType;importjm.cobrancas.dao.CobrancaDAO;@EntitypublicclassCobrancaextendsObservable{@IdprivateLongid;privateStringlocalPagamento;@Temporal(TemporalType.DATE)privateDatedataVencimento;privateStringcedente;@Temporal(TemporalType.DATE)privateDatedataDocumento;privateStringnumeroDocumento;privateStringespecieDocumento;privateBooleanaceite;privateDoublequantidade;privateDoublevalor;privateDoublevalorDocumento;privateStringinstrucoes;privateStringsacado;privateStringsacadorAvalista;publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicStringgetLocalPagamento(){returnlocalPagamento;}publicvoidsetLocalPagamento(StringlocalPagamento){this.localPagamento=localPagamento;}publicDategetDataVencimento(){returndataVencimento;}publicvoidsetDataVencimento(DatedataVencimento){this.dataVencimento=dataVencimento;}publicStringgetCedente(){returncedente;}publicvoidsetCedente(Stringcedente){this.cedente=cedente;}publicDategetDataDocumento(){returndataDocumento;}publicvoidsetDataDocumento(DatedataDocumento){this.dataDocumento=dataDocumento;}publicStringgetNumeroDocumento(){returnnumeroDocumento;}publicvoidsetNumeroDocumento(StringnumeroDocumento){this.numeroDocumento=numeroDocumento;}publicStringgetEspecieDocumento(){returnespecieDocumento;}publicvoidsetEspecieDocumento(StringespecieDocumento){this.especieDocumento=especieDocumento;}publicBooleangetAceite(){returnaceite;}publicvoidsetAceite(Booleanaceite){this.aceite=aceite;}publicDoublegetQuantidade(){returnquantidade;}publicvoidsetQuantidade(Doublequantidade){this.quantidade=quantidade;}publicDoublegetValor(){returnvalor;}publicvoidsetValor(Doublevalor){this.valor=valor;}publicDoublegetValorDocumento(){returnvalorDocumento;}publicvoidsetValorDocumento(DoublevalorDocumento){this.valorDocumento=valorDocumento;}publicStringgetInstrucoes(){returninstrucoes;}publicvoidsetInstrucoes(Stringinstrucoes){this.instrucoes=instrucoes;}publicStringgetSacado(){returnsacado;}publicvoidsetSacado(Stringsacado){this.sacado=sacado;}publicStringgetSacadorAvalista(){returnsacadorAvalista;}publicvoidsetSacadorAvalista(StringsacadorAvalista){this.sacadorAvalista=sacadorAvalista;}privatevoidvalidarDados()throwsException{if(getDataVencimento()==null){thrownewException("A data de vencimento precisa ser informada");}if(getValorDocumento()==null){thrownewException("O valor do documento precisa ser informado");}if((getSacado()==null)||(getSacado().length()==0)){thrownewException("Os dados do sacado precisam ser informados");}}publicvoidsalvar()throwsException{validarDados();if(getId()==null){setId(System.currentTimeMillis());}CobrancaDAOdao=CobrancaDAO.getInstance();dao.salvar(this);setChanged();notifyObservers();}publicvoidcalcularValorDocumento(){if(getQuantidade()==null){setQuantidade(0.0);}if(getValor()==null){setValor(0.0);}setValorDocumento(getQuantidade()*getValor());setChanged();notifyObservers();}}
tnaires
Iran,
Na mensagem da exceção tem uma linha assim:
at jm.cobrancas.view.CobrancaView.sincronizarViewComModel(CobrancaView.java:195)
Tá dando erro na linha 195 da classe CobrancaView. Dê uma olhadinha lá.
J
Joule
segue as linhas de de 193 a 198 da classe CobrancaView.java:
Vixe, isso aí já é outra coisa
Aparentemente, você não criou o banco de dados “dbcobrancas”.
Aquele outro erro já foi.
J
Joule
Era isso mesmo… eu havia declarado no arquivo persistence.xml bdcobranca e havia criado o banco de dados dbconbranca… o registro foi salvo com sucesso agora tá aparecendo essa mensagem:
talvez seja isso que o tnaires falou, faça uma validação para o caso do model.getNumeroDocumento() não ser um Date
t+
J
Joule
Oi pessoal, o projeto esta funcionando, todos os dados estão sendo salvos no database agora continua aparecendo essa mensam o que pode ser? poder causar algum problema no desempenho do projeto?