[
https://issues.apache.org/jira/browse/OPENJPA-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18136946#comment-18136946
]
ASF subversion and git services commented on OPENJPA-3051:
----------------------------------------------------------
Commit 6e59fd7b6da792a0f04e35d13f63b4337359c297 in openjpa's branch
refs/heads/master from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=6e59fd7b6 ]
[OPENJPA-3051] Keep the precision and scale of decimal columns on H2 (#256)
* [OPENJPA-3051] Keep the precision and scale of decimal columns on H2
H2 2.x reads an unsized NUMERIC as NUMERIC(100000, 0). H2Dictionary
listed NUMERIC and DECIMAL as fixed size types, so @Column(precision,
scale) was dropped from the DDL and fractional values were rounded to
integers. Write the precision and scale into the type name and create
an unsized decimal column of a non integral Java type as DECFLOAT(38)
on H2 2.x, unless NumericTypeName or DecimalTypeName was configured.
Read a DECFLOAT value with negative scale back with scale 0. Use
fractional decimals in the OPENJPA-3035 and OPENJPA-3044 tests.
* [OPENJPA-3051] indentation
---------
Co-authored-by: Maxim Solodovnik <[email protected]>
> H2: a BigDecimal column is created with scale 0
> -----------------------------------------------
>
> Key: OPENJPA-3051
> URL: https://issues.apache.org/jira/browse/OPENJPA-3051
> Project: OpenJPA
> Issue Type: Bug
> Reporter: Richard Zowalla
> Priority: Major
>
> On H2, a {{BigDecimal}} attribute mapped with {{@Column(precision = 10, scale
> = 2)}} gets a NUMERIC column with scale 0, so 2.5 is stored as 3 (and 1.5 as
> 2). This happens with a fresh database created by OpenJPA's schema tool.
> Found independently while working on OPENJPA-3035 and OPENJPA-3044, whose
> tests use whole-number decimals to avoid it.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)