[
https://issues.apache.org/jira/browse/OPENJPA-2671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15575475#comment-15575475
]
Mark Struberg commented on OPENJPA-2671:
----------------------------------------
I see. That is most probably because DOUBLE is kind of binary stored whereas
NUMBER is a fixed precision decimal.
I agree that DOUBLE is a better fit, but am a bit frightened that we might
introduce a backward incompatibility for where it did work fine.
There is a trick which you can use and we still don't loose backward
compatibility for other users:
You can tweak each DBDictionary in your persistence.xml
Please try the following:
{code}
<persistence>
...
<properties>
<property name="openjpa.jdbc.DBDictionary" value="(DoubleTypeName=DOUBLE)"/>
...
{code}
> Wrong type mapping for double in HSQLDB
> ---------------------------------------
>
> Key: OPENJPA-2671
> URL: https://issues.apache.org/jira/browse/OPENJPA-2671
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 2.4.1
> Reporter: Andreas Borg
> Attachments: testHsqldbDouble.zip
>
>
> Currently, Java type {{double}} is mapped to {{NUMERIC}} for HSQLDB:
> {code:title=HSQLDictionary.java, line 82|borderStyle=solid}
> doubleTypeName = "NUMERIC";
> {code}
> (see
> https://fisheye6.atlassian.com/browse/~tag=2.4.1/openjpa/tags/2.4.1/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java?hb=true).
> This seems wrong to me, as HSQLDB's {{NUMERIC}} is not a binary floating
> point type, but represents exact decimal numbers and maps to Java type
> {{BigDecimal}} (see HSQL documentation:
> http://hsqldb.org/doc/2.0/guide/sqlgeneral-chapt.html#sgc_numeric_types). The
> corresponding HSQL type for {{double}} is, according to this manual,
> {{REAL}}, {{FLOAT}} or {{DOUBLE}} (all being equivalent).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)