Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema com locale e Moneta no GC

Boa noite, eu tenho um projeto usando springboot, hibernate e thymeleaf como base, entre as dependências eu tenho o moneta versão 1.1 para trabalhar com valores no meu projeto. Pois bem, localmente usando meu windows 10, aplicando uma mascara em um input do tipo texto, e adicionando um converter, meu valores são gravados e recuperados no formato BRL, ou seja, se eu digitar na view 25,30 eu recupero em outra view como R$25,30. Agora depois que mando o projeto pro Google Computer, onde o servidor é linux, os mesmo 25,30, passam a ser BRL2,530.00.

Pensei que apenas alterando o locale do servidor resolveria, mas não resolveu, atualmente está hospedado em uma instância do google compute, com o disco padrão, e o locale atual é:

LANG=pt_BR.UTF-8 LANGUAGE= LC_CTYPE="pt_BR.UTF-8" LC_NUMERIC="pt_BR.UTF-8" LC_TIME="pt_BR.UTF-8" LC_COLLATE="pt_BR.UTF-8" LC_MONETARY="pt_BR.UTF-8" LC_MESSAGES="pt_BR.UTF-8" LC_PAPER="pt_BR.UTF-8" LC_NAME="pt_BR.UTF-8" LC_ADDRESS="pt_BR.UTF-8" LC_TELEPHONE="pt_BR.UTF-8" LC_MEASUREMENT="pt_BR.UTF-8" LC_IDENTIFICATION="pt_BR.UTF-8" LC_ALL=

A base de dados tem como tipo para o valor setado como decimal(19,2), onde as tabelas são geradas pelo hibernate.

Por favor se alguém já passou por isso, ou sabe como resolver, é importante pra mim.

Agradeço á quem puder um pouco de sua atenção para me ajudar com esse empecilho.

2 respostas

Opa, você chegou a usar os argumentos da vm -Duser.country= -Duser.language= ? Aí você pode definir o país e a lingua de preferência.

solução!

Consegui resolver diretamente no converter, ele pegar o locale default, e agora eu estou criando um novo locale passando pt_BR, funcionou.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software