I would start with option #1 Thanks, Rick
On Mon, Feb 17, 2014 at 11:31 AM, Aron Lurie <a...@cambridgesemantics.com>wrote: > 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 > -- *Rick Curtis*