olá Pessoal,
O post de hoje vou falar de uma exceção que pode acontecer durante sua vida de programador. É o famoso data truncation. Se você nunca passou por ela as chances são grandes. Sabemos que é uma pratica muito comum de devs atuar como DBA, analisa de requisito, devesenvolvedor etc. Isso varia do projeto e política da empresa. Eu tenho uma opinião sobre essa pratica e até onde ela ajuda e atrapalhada no dia-dia. Mas daria um post, então não entrarei em detalhes.
lets go…
java.sql.dataTruncation hibernate could not insert
Essa exceção ela pode aparecer do nada, você pode chegar no dia seguinte e ter um bug aberto para ser corrigido com essa exceção. Respire e não se assuste. Mas, o que mudou de ontem para hoje? Pois, até ontem aplicação rodava tão bem, que não recusei o convite de um happy-hour.
O que aconteceu?
O que aconteceu é que o cara que cuida do Banco de dados, simplesmente mudou o tamanho de uma coluna(de 100 para 50) e quando o usuario foi inserir um novo dado maior que 50 para a coluna X, daí já era. Temos dados demais para aquela determinada coluna.
Solução
– Há varias soluções uma delas, é você já limitar o formulario para o tamanho X e validar esse tamanho antes de enviar os dados para o banco.
– se você está pegando dado de outro banco, se puder veja o data model e deixe sua coluna igual dos dados de origem.
Um detalhe importante é que esse tipo de dado não deveria mudar a fim de gerar um data truncation. Normalmente quando há alterações na maioria das vezes é para aumentar o capacidade, porém já passei pelo inverso também e foi data truncation na certa.
Então se você estiver passando por esse e-mail valide o tamanho dos dados que vai ser inserido no banco e veja com o responsável pelo banco como está o tamanho da coluna X data base.
Vou ficando por aqui, espero que tenham curtido a dica.
See ya!!! abraços,