According to the Persistence specification, the @Column annotation says:
int precision (Optional) The precision for a decimal (exact numeric)column.(Appliesonlyifadecimalcolumn is used.) 0 (Value must be set by developer.) int scale (Optional) The scale for a decimal (exact numeric)column.(Appliesonlyifadecimalcolumn is used.) 0 [sic]So unless you are using an exact numeric type for your column (NUMERIC or DECIMAL) a JPA provider should simply ignore the type.
The intent of this part of the specification is not to provide some field-level behavior, for example to convert the data on its way to or from the database, but simply to give the provider some information that would allow it to create a reasonable column type for schema creation.
Craig On Apr 10, 2007, at 2:59 PM, Michael Dick wrote:
I'm sorry, I misunderstood your question. I'm afraid I don't know how we determine when to apply the scale and precision.In this case the value should be ignored, since there's no way to set it onthe column. If the attribute was of type BigDecimal then I think the precision and scale should apply.The catch here is that it looks like we're mapping BigDecimal to DOUBLE so that won't work. I'll have to take a closer look to determine where thatmapping occurs, and what the correct mapping(s) should be. Would you mind opening a JIRA report for the problem? http://issues.apache.org/jira/browse/OPENJPA -Mike On 4/10/07, Jacek Laskowski <[EMAIL PROTECTED]> wrote:On 4/10/07, Michael Dick <[EMAIL PROTECTED]> wrote:> I don't think Derby supports specifying the precision on type DOUBLE(maybe > other datbases do). You're right - it doesn't. > You should be able to specify the precision through the @Column annotation. > I believe @Column(columnDefinition="DECIMAL(5,2)") will > work. DECIMAL is a synonim of NUMERIC and either works well. > I'm not sure whether precision=x, scale=y with a type that maps to > DECIMAL instead of DOUBLE. That's my question how OpenJPA recognizes whether the attributes should be used or not. I don't think precision and scale are not used at all. Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl
Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature