All,
We were using NHiberate 2.1 where we are storing decimal values (exchange rates) e.g. 123.1234567 to 7 decimal places
We are mapping the type using default mapping style:
<property name="ExchangeRate" not-null="true" />
However when we upgrade to NHibernate 3.0 the value above is saved as 123.1234500.
It does not specify this change in behaviour in the 3.0 release notes although it does seem to detail that in issue [NH-1594], the default value for decimal is DECIMAL(19,5)
We have a solution i.e. specify the following mapping:
<property name="ExchangeRate" type="decimal(10,7) not-null="true" />
I need to know is this solution the right way to solve this issue? Also, why is there a functional change in behaviour with rounding between 2.1 and 3.0?
Cheers,
Billy Stack
That works, but this is cleaner IMO:
<property name="ExchangeRate" precision="10" scale="7" />
A not-null decimal is implied by the property type.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With