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

Jeremy Bauer commented on OPENJPA-1540:
---------------------------------------

Problem 1.  There looks to be a bug in the code that determines whether a value 
needs to be delimited based upon DBMD returned by the JDBC driver.  I am 
working on a fix.

Problem 2.  If a value requires delimiters (ex.  "foo bar") the code generator 
needs to escape each delimiter.  Ex:  @Column(name="\"foo bar\"").  

> 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to