Hi All, Running on trunk, I'm currently facing a problem very similar to OPENJPA-1540. When I run the ReverseMappingTool on an Oracle database with a lowercase column name, I end up with syntactically incorrect source code. Whereas I should get output like this:
@Column(name="\"foobar\"") I instead get un-compileable output like this: @Column(name=""foobar"") The reason why the problem only affects lowercase column names is because Oracle generally requires names in all upper case. If a name is specified with quotes around it, then it can be allowed to contain lowercase characters. I generally see two ways I can fix this: 1) Change the way the DBIdentifier's are initialized to surround the identifier with a delimiter that includes the escape \. 2) Change the serialization stack (i.e. AnnotationPersistenceMetaDataSerializer.serialize and AnnotationEntry.toString) to run some character escape utility (like StringEscapeUtils.escapeJava) at String construction time. Which approach here is best? Or is there a better way I haven't considered? Thanks, Aron