Hi,
I've got a double which I'm trying to save to a postgres numeric column.
The value I'm trying to save is 151.33160591125
488, and I've verified that this is in fact the argument being received by Hibernates internals pre-insert.
However the value in the database post insert is 151.33160591125
5, ie it's been rounded to 12dp.
I know my column is of the right scale, as it's an unrestricted numeric column and the following...
Code:
update tbl set col=151.33160591125488
...has the desired effect.
org.hibernate.dialect.PostgreSQLDialect:
Code:
registerColumnType( Types.DOUBLE, "float8" );
registerColumnType( Types.NUMERIC, "numeric($p, $s)" );
Code:
select cast (151.33160591125488 as float8);
=151.331605911255
therefore the default behavior for double is incorrect, and i need to get hibernate to use the numeric type before I'll get the expected behavior, but
Code:
<property type="numeric" />
doesn't work, as "numeric" is not a hibernate type.
How do I get hibernate to save doubles properly?