Sempre que tiver algum problema, erro ou exceção, procure dar mais informações tipo, a stack trace do problema, o trecho do código que está ocasionando o erro, isso facilita e muito na hora de ajudar.
XFlameBR
Primeiramente Obrigado por me ajudar, valeu mesmo.
Verifique se você mapeou certo a sua classe com a tabela, e se há resultados.
XFlameBR
Sim, o Valor que esta recebendo é null.
Como posso contornar este erro?
Obrigado
ateubh
coloque um if antes de chamar a gravação no banco… algo do tipo.
if (x==null)
x=0;
acho que esse problema é porque o campo da sua tabela não aceita valores nulos
lina
Você deve estar limpando em alguma parte do seu código essa variavel, ou simplesmente não deve estar alimentando…
Analize e deu uma olhada em seu código, veja se está ou não fazendo isso… tá?! depois retorne aqui no forum…
Tchau
XFlameBR
Bom dia Lina e a todos do Guj.
Então, este valor (Complemento) pode assumir valores vazios, visto que no banco de dados o campo complemento não é obrigatório.
O método get e set do Complemento esta correto e igual aos demais campos.
eu tb estou usando o método trim() e toUpperCase()
Caused by: java.lang.NullPointerException
at org.cerbisoriani.business.general.Endereco.setComplemento(Endereco.java:81)
Na verdade, vc deve verificar porque o objeto esta chegando null até esse ponto ai, se ele não pode chegar null, então precisa fazer um debug em todo o processo anterior pra detectar o ponto que deveria estar sendo atribuido algun valor ao objeto mas esta lhe retornando null.
Não é muito bom ficar trafegando objetos nulos, mas outra alternativa é deixar o objeto como null, e SE OBRIGAR a sempre tratar (verificar se o objeto é null) toda vez que for acessá-lo.
PS: por que ta usando $ como sufixo de seus parametro? apesar da linguagem suportar essa nomenclatura, não é uma boa prática
lina
Bom,
então se realmente no seu no banco de dados o campo complemento não é obrigatório… faça a verificação do nullo antes… se nullo mande vazio… bem assim como o Luiz e outras pessoas ja falaraum…
Tchauzin
XFlameBR
então Galera, o mais estranho é que o erro estava ocorrendo quando pegava informação do banco.
Luiz_Aguiar
Tenta fazer um debug pra ver porque não está setando o valor correto, porque teoricamente o set esta passando null como parâmetro.
XFlameBR
Luiz Aguiar, Obrigado pela ajuda.
o metodo set quando não é passado nem um valor seu valor seria null, mas se vindo de um formulário HTML seu valor seria "", correto?
Luiz_Aguiar
Como vc esta recuperando esse dado da página? request, form, etc…
Mas assumi-se “” sim.
XFlameBR
Este codigo eu estou usando para montar o Formulario
Eu acredito que não. Você não pode confiar 100% nisso, já que o campo não é obrigatório na tua action (a que recebe os dados do form para gravar no banco) verifique se os atributos que não são obrigatórios foram preenchidos, os que não foram, passe uma string vazia. O que pode estar acontecendo é o seguinte: Como os campos obrigatórios não estão sendo validados, logo está sendo gravado null no banco, e quando você usa o trim() dá um NPE justamente por isso.
Nunca confie nos dados de entrada, isso faz com que você tenha uma base de dados íntegra.