Thanks Steve for your reply. I apologize if I'm not understanding what you describe, maybe it's because I'm not familiar with the JPA spec. I'm just using common sense here: the problem is that while you can use any name for a column, when that name is the same of a keyword, the name must be quoted. This means that a column definition of this type:
create table name (id integer not null auto_increment, blob blob, primary key (id))
is invalid (since blob is a keyword), while this one is ok because the column identified is quoted:
create table name (id integer not null auto_increment, `blob` blob, primary key (id))
I could quote the identified in the Java source adding a JPA column definition annotation, but I would expect the persistence provider to do this for me and since I found a property name "globally quoted identifier", I expect it quote the identifiers and not the keywords (like the name of the property says). So, again, I can't understand why this property exists if not to solve the exact problem it describes, while if it instead quotes keywords is obviously always wrong and useless since it creates invalid SQL (i.e.: there are no situations where it can be enabled). |