[ 
https://issues.apache.org/jira/browse/OPENJPA-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13897163#comment-13897163
 ] 

Aron Lurie commented on OPENJPA-1540:
-------------------------------------

I need to revive this ticket. Running into this issue with an Oracle database. 
Whenever a column name contains lowercase characters, the generated annotation 
has incorrect delimiters as described by original reporter. 

EXAMPLE GENERATED CODE

import javax.persistence.*;

/**
 * Auto-generated by:
 * org.apache.openjpa.jdbc.meta.ReverseMappingTool$AnnotatedCodeGenerator
 */
@Entity
@Table(schema="MYUSER", name="T_CONSTRAINT")
public class TConstraint {
        private String constraint;
        private String description;

        public TConstraint () {
        }

        public TConstraint (String constraint) {
                this.constraint = constraint;
        }

        @Id
        @Column(name=""Constraint"", length=16)
        public String getConstraint() {
                return constraint;
        }

        public void setConstraint(String constraint) {
                this.constraint = constraint;
        }

        @Basic
        @Column(length=50)
        public String getDescription() {
                return description;
        }

        public void setDescription(String description) {
                this.description = description;
        }
}

OPENJPA REVISION INFO

revision.number=422266:1491915
openjpa.version=2.3.0-SNAPSHOT
openjpa.enhancer.revision=1461751 



> XMLSchemaSerializer outputs funny values for column name attributes 
> (regression from 1.2.2)
> -------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1540
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1540
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 2.0.0-beta
>            Reporter: Laird Nelson
>            Assignee: Jeremy Bauer
>
> During a reverse mapping run, it's often common to take the output of a 
> SchemaGenerator and feed it to an XMLSchemaSerializer via its addAll() method.
> When the DBDictionary that was in effect at schema generation time is one 
> that supports delimiters (see InformixDictionary), then the identifiers on 
> all the artifacts in the SchemaGroup housed by the SchemaGenerator have 
> quotes in them.
> Consequently, when the XMLSchemaSerializer writes its schemas to disk, you 
> can get strange results.  Here's an example <column> fragment:
> <column name="&quot;foobar&quot;">
> Technically I suppose this may not be a bug in XMLSchemaSerializer, since it 
> is simply serializing what it is handed.  But given that other tools consume 
> its XML schema files, and given that the value of name attribute will be read 
> in as a String, and given that usually what happens is that a String is 
> turned into a DBIdentifier and delimited/quoted as necessary, I am not sure 
> that delimiters should be stored by the XMLSchemaSerializer.
> A downstream effect of this bug is that any reverse  mapping that takes place 
> from here involving annotations will not compile.  That is, if you ask the 
> ReverseMappingTool for example to produce annotated Java objects, the 
> annotations will look like this:
> @Column(name=""foobar"")
> ...which will not compile.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to