В Java значение new BigDecimal("1.0") != new BigDecimal("1.00")
, т. Е. Масштаб имеет значение .
Однако, по-видимому, это не так для Hibernate / SQL Server.Если я установлю масштаб для BigDecimal на конкретное значение, сохраню BigDecimal в базе данных через Hibernate, а затем заново раздую свой объект, я получу обратно BigDecimal с другим масштабом.
Например, значение1.00 возвращается как 1.000000, я полагаю, потому что мы отображаем BigDecimals в столбец, определенный как NUMERIC(19,6)
.Я не могу просто определить столбец как необходимый масштаб, так как мне нужно хранить значения доллара и йены (например) в одном столбце.Мы должны представлять BigDecimals как числовые типы в базе данных для использования внешних инструментов отчетности.
Существует ли Hibernate UserType, который отображает BigDecimal "должным образом", или я должен написать свой собственный?