Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
First reported on the mailing list[1].
--------
I ran into a problem(I think) when doing some testing on Derby where I have
an Entity named User and I'm having OpenJPA build my DB tables. Since 'User'
is a reserved word on Derby, the SQL that OpenJPA generates to create my
User table blows up[2].
Each DBDictionary has a set of 'reserved words' but that list of words isn't
used for table names, they are only used for column names. If a column name
matches a reserved word, we append a 0 to the name or something like that.
I'm wondering if we should do something similar with the table names?.
I'm going to try to find some time soon here to look at the spec to see if
this issue is discussed. Any thoughts or comments?
-Rick
[1]http://n2.nabble.com/Using-reserved-keywords-for-Entity-names-td3156045.html
[2
6484 embeddables TRACE [main] openjpa.jdbc.SQL - <t 24634836, conn
9566840> executing stmnt 24008846 CREATE TABLE User (id INTEGER NOT NULL,
USER0 VARCHAR(255), user_name VARCHAR(255), city VARCHAR(255), state
VARCHAR(255), street VARCHAR(255), zip INTEGER, COORDINATES_ID INTEGER,
number VARCHAR(255), type VARCHAR(255), PRIMARY KEY (id))
6484 embeddables TRACE [main] openjpa.jdbc.SQL - <t 24634836, conn
9566840> [0 ms] spent
Exception in thread "main" <openjpa-0.0.0-rnull nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Syntax error:
Encountered "User" at line 1, column 14.
[code=30000, state=42X01]
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453)
at ....JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159)
Attachments
Issue Links
- is part of
-
OPENJPA-946 Oracle create table(s) exceptions
- Closed