Resolvendo Data Truncation Hibernate


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,