Rob*_*ins 5 java sql-server hibernate bigdecimal hibernate-mapping
在 Java 中,new BigDecimal("1.0") != new BigDecimal("1.00")即规模很重要。
然而,这显然不适用于 Hibernate/SQL Server。如果我将 BigDecimal 上的比例设置为特定值,通过 Hibernate 将 BigDecimal 保存到数据库,然后重新膨胀我的对象,我会返回一个具有不同比例的 BigDecimal。
例如,值 1.00 返回为 1.000000,我假设是因为我们将 BigDecimals 映射到定义为的列 NUMERIC(19,6)。我不能只将列定义为所需的比例,因为我需要将美元和日元值(例如)存储在同一列中。我们需要在数据库中将 BigDecimal 表示为数字类型,以便外部报告工具使用。
是否存在“正确”映射 BigDecimal 的 Hibernate UserType,还是我必须自己编写?