Posa o stack trace do nullPointe, é importante saber onde acontece.
Também é importante vc saber que nullPointer ocorre quando vc tenta manipular algo NULO, logo, não importa o tipo da classe que vc coloque, NULO é NULO, vai dar nullPointer ao manipular e não há tipo de classe que resolva.
A solução é: ou vc trata, veficando previamente se é nulo ou evita que o objeto seja enviado nulo.
Neste caso provavelmente sua data está vindo nula, debuga, certifique-se antes que estás recebendo este valor.
publicvoidadiciona(NotaFiscalnotaFiscal){// veja se isto esta funcionando corretamenteSystem.out.println(Date.valueOf((notaFiscal.getDataPagamento().format(formatador)));}
É erro no Fomatter, muda o padrão para “yyyy-dd-MM”; veja se funciona
G
GuilhermeFaria
Exatamente o mesmo erro retornado
R
Rodrigo_Void
DataPagamento é de quê tipo?
G
GuilhermeFaria
Antes era LocalDate, depois, para fim de questões troquei para o Date.
R
Rodrigo_Void
wtf, se é Date pq vc está tentando converter pra Date?
Tua lógica tá zoada.
Vamos começar do inicio:
Aparentemente vc quer salvar as datas no banco, mas dá incompatibilidade com suas datas do tipo java.util.Date com o preparedStatement que recebe apenas sql.Date, ai vc quer fazer a conversão. certo? pra isso vc faz o seguinte:
Tendo em vista que DataPagamento seja do tipo util.Date, é só fazer o seguinte: stmt.setDate(3, new java.sql.Date(notaFiscal.getDataPagamento().getTime()));
J
Jederson_Andre
Eu sempre mando no PreparedStatement() uma String com a data no formato aceito pelo banco, tipo “yyyy-dd-MM”;
R
Rodrigo_Void
Não recomendo, pq o padrão do banco poder ser alterado. Ai seu programa buga.
Até onde eu sei, pra ser genérico é mandar Date.