Affects Version/s: None
Fix Version/s: None
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.