[ https://issues.apache.org/jira/browse/OPENJPA-84?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg resolved OPENJPA-84. ---------------------------------- Fix Version/s: 3.1.3 Assignee: Mark Struberg Resolution: Fixed > Escape sql reserved words in column names > ----------------------------------------- > > Key: OPENJPA-84 > URL: https://issues.apache.org/jira/browse/OPENJPA-84 > Project: OpenJPA > Issue Type: Improvement > Components: sql > Reporter: Roger Keays > Assignee: Mark Struberg > Priority: Major > Fix For: 3.1.3 > > > OpenJPA does not escape reserved words in SQL queries when they are used as > column names. To escape a reserved name you just put it in quotes: > INSERT INTO FB_PRIVILEGES (comment, inheritable, level, role, type, username, > item_uuid) ... > on oracle, becomes > INSERT INTO FB_PRIVILEGES ("comment", inheritable, "level", role, "type", > username, item_uuid) ... > Looking at the code in DBDictionary, it appears that the escaping is done for > table and sequence names by appending a numeral to the name. There isn't > really any good reason to do this instead of quoting the identifier. > table.name identifiers would have to be escaped as "table"."name" if both > table and name were reserved words. -- This message was sent by Atlassian Jira (v8.3.4#803005)