persistence@glassfish.java.net

Code changes relevant to issue 349 - java2db and _at_Version datatype

From: Pramod Gopinath <Pramod.Gopinath_at_Sun.COM>
Date: Thu, 16 Mar 2006 14:13:18 -0800

Hi Gordon
   The code change is to deal with the fact that for @Version field we
are not setting the field type. So for a number field during java2db we
are always creating a field of type BigDecimal and ignoring the type of
the field on which the @Version has been defined.

The solution has been made in
src/java/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataProcessor.processAccessor()
to set the databasefield type correctly.

If the type is correctly then
src/java/oracle/toplink/essentials/descriptors/VersionLockingPolicy.
initializeProperties() will not set the type of the field to BigDecimal.

I have attached the diffs and jar file. Also ran the
entity-persistence-tests and all passed.

Thanks
Pramod


Index: src/java/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataProcessor.java
===================================================================
RCS file: /cvs/glassfish/entity-persistence/src/java/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataProcessor.java,v
retrieving revision 1.8
diff -r1.8 MetadataProcessor.java
440a441,443
> if (field.getType() == null) {
> field.setType(accessor.getRawClass());
> }