¿Cómo mapeo un BigDecimal en Hibernate para recuperar la misma escala que puse?

En Java,new BigDecimal("1.0") != new BigDecimal("1.00") es decir,escala importa.

Sin embargo, aparentemente esto no es cierto para Hibernate / SQL Server. Si configuro la escala en un BigDecimal a un valor particular, guardo el BigDecimal en la base de datos a través de Hibernate y luego vuelvo a inflar mi objeto, obtengo un BigDecimal con una escala diferente.

Por ejemplo, un valor de 1.00 regresa como 1.000000, supongo porque estamos asignando BigDecimals a una columna definida comoNUMERIC(19,6). No puedo simplemente definir la columna como la escala requerida, ya que necesito almacenar los valores en dólares y yenes (por ejemplo) en la misma columna. Necesitamos representar los BigDecimals como tipos numéricos en la base de datos en beneficio de las herramientas de informes externos.

Existe un tipo de usuario de Hibernate que mapea BigDecimal "correctamente", o tengo que escribir el mío?

Respuestas a la pregunta(3)

Su respuesta a la pregunta