Boa tarde, tudo bem pessoal ? Estou com um erro aqui no aplicativo que estou criando, aonde o usuário digita os dados de um contrato e estes dados deveriam persistir no banco de dados.O erro acusou Null Pointer Exception para um date e não estou conseguindo achar o erro. O atributo dataNegociação é um calendar e por isso precisei passar ele pra Date.Gostaria da ajuda de vocês se possível pra encontrar o erro, pois já bati cabeça e não achei !
Erro:
jan 09, 2018 8:48:13 AM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Spring MVC Dispatcher Servlet] in context with path
[/CereaisSulWeb] threw exception [Request processing failed; nested exception is
java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at br.com.cereaissul.DAO.ContratosDao.adiciona(ContratosDao.java:35)
at br.com.cereaissul.controller.ContradoDeCompraController.adicionaContrato(ContradoDeCompraController.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
O método que esta acusando erro (ContratoDaoJava Linha 35). A linha marcada **** setDate é a linha 35, que está causando o erro. :
public void adiciona(ContratoDeCompra contrato) {
try {
PreparedStatement stmt = connection.prepareStatement("insert into contratos "
+ "(nomeProdutor, produto, quantidadeKg, dataNegociacao, valor) " + "values (?,?,?,?,?)");
stmt.setString(1, contrato.getNomeProdutor());
stmt.setString(2, contrato.getProduto());
stmt.setLong(3, contrato.getQuantidadeKg());
*****stmt.setDate(4, new Date(contrato.getDataNegociacao().getTimeInMillis()));
stmt.setDouble(5, contrato.getValor());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Obs: Estou usando Spring MVC,