1
resposta

java.time.LocalDate no Model Livro (ERRO BIZARRO)

Boa noite. Estou fazer o curso mas quis aproveitar uma tabela livro que ja tenho no meu DB, portanto essa tabela possue um campo data. criei no Livro.java um atrituto (java.time.LocalDate dataLancamento) e por conta desse campo quebrei a cabeça aqui por mais de duas horas. Ao adicionar esse atributo do tipo java.time.LocalDate o h:commandButton simplistemente não chamava o método gravar definido nele. E por encrível que pareça não da gera nenhum erro no console. Ja estava putu por não descobrir a causa até que resolvi criar um outro projeto com um bean sem um model e com isso o método passou a ser chamado. Alguem sabe a razão disso e o porque de não lançar nenhuma excessão?

1 resposta

Olá Calixto, tudo bem?

Pelo que você descreveu, parece que o problema está relacionado à integração entre o atributo "dataLancamento" e o botão "gravar". É importante lembrar que o JSF é uma tecnologia poderosa, mas às vezes pode ser um pouco complexa. Existem algumas possibilidades que podem estar causando esse comportamento inesperado.

O JSF pode estar encontrando alguma dificuldade em converter o valor do atributo "dataLancamento" para o formato esperado pelo banco de dados. Verifique se o formato da data está correto e se a conversão está sendo feita adequadamente. Você pode usar anotações como "@DateTimeFormat" ou "@Temporal" para auxiliar na conversão.

Outra possibilidade é que o JSF esteja encontrando algum problema ao validar o valor do atributo "dataLancamento". Certifique-se de que você está fornecendo um valor válido para esse campo. Por exemplo, se estiver usando um campo de data em um formulário, verifique se você está fornecendo uma data no formato correto.

Além disso, é sempre uma boa prática verificar se há algum erro sendo lançado no log do servidor. Verifique os logs para ver se há alguma exceção sendo registrada que possa estar relacionada ao problema que você está enfrentando.

Caso você já tenha verificado todas essas possibilidades e ainda não tenha encontrado uma solução, pode ser útil compartilhar o trecho de código relevante para que possamos analisar melhor o seu problema.

Espero ter ajudado e bons estudos!