Hello there again! ;-)
 
Is that "Reserved keywords mechanism" in the DBDictionary stuff maybe
broken, or am I dumb or missing something obvious?
 
With OpenJPA 1.0.1, if I take the examples/hellojpa, which runs fine
unmodified, and add a "@Basic private String group;" to the
Message.java, you get the copy/pasted error below. As if something was
wrong with the reservedWords mechanism in the DBDictionary which reads
sql-keywords.rsrc and extends the list in e.g. DerbyDictionary? The
correct dictionary DOES appear to be in use, according to the log below.
 
The problem doesn't seem to be limited to Derby; I initially played
around on a Sybase, and there again (another) keyword listed in the
sql-keywords.rsrc isn't picked up.
 
An aside, may be separate or may be related: On same Sybase I'm also
getting e.g. "org.apache.openjpa.lib.jdbc.ReportingSQLException: The
identifier that starts with 'effectiveMarketSegmentCheckedF' is too
long. Maximum length is 30." problems - despite the SybaseDictionary
having a maxColumnNameLength = 30. Do I have to "activate" anything?
 
Am I missing something? This stuff is supposed to work "out of the box",
I would have thought? Any ideas?
 
Regards and thanks,
Michael
 
_____________________________
Michael Vorburger, Odyssey Financial Technologies
(...)
 
_____
WITH existing DB, when ALTERing:
 
run:
     [java] 47  hellojpa  INFO   [main] openjpa.Runtime - Starting
OpenJPA 1.0.1
     [java] 125  hellojpa  INFO   [main] openjpa.jdbc.JDBC - Using
dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
     [java] 2156  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t
19206130, conn 3803825> executing stmnt 9564165 ALTER TABLE Message ADD
group VARCHAR(255)
     [java] 2188  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t
19206130, conn 3803825> [32 ms] spent
     [java] Exception in thread "main" <openjpa-1.0.1-r420667:592145
nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Syntax error:
Encountered "group". {stmnt 9564165 ALTER TABLE Message ADD group
VARCHAR(255)} [code=30000, state=42X01]
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:549)
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:449)
     [java]     at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDB
CBrokerFactory.java:170)
     [java]     at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBroke
rFactory.java:130)
     [java]     at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBroker
Factory.java:186)
     [java]     at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBr
okerFactory.java:142)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:192)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:145)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:56)
     [java]     at hellojpa.Main.main(Main.java:43)
     [java] Caused by:
org.apache.openjpa.lib.jdbc.ReportingSQLException: Syntax error:
Encountered "group" at line 1, column 25. {stmnt 9564165 ALTER TABLE
Message ADD group VARC, state=42X01]
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConne
ctionDecorator.java:192)
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(Loggin
gConnectionDecorator.java:57)
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection
$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:754)
     [java]     at
org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(Delegating
Statement.java:114)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:118
5)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.addColumn(SchemaTool.java:1020
)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:481)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:497)
     [java]     ... 9 more
 
BUILD FAILED
C:\bin\jpa_apache-openjpa-1.0.1-binary\examples\build.xml:84: Java
returned: 1
 
Total time: 5 seconds
C:\bin\jpa_apache-openjpa-1.0.1-binary\examples\hellojpa>
 
___________________
With fresh DB, when CREATEing:
 
run:
     [java] 47  hellojpa  INFO   [main] openjpa.Runtime - Starting
OpenJPA 1.0.1
     [java] 125  hellojpa  INFO   [main] openjpa.jdbc.JDBC - Using
dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
     [java] 7206  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t
21943671, conn 10526273> executing stmnt 33116517 CREATE TABLE Message
(id BIGINT NOT NULL, created TIMESTAMP, grou
ge VARCHAR(255), PRIMARY KEY (id))
     [java] 7237  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t
21943671, conn 10526273> [31 ms] spent
     [java] Exception in thread "main" <openjpa-1.0.1-r420667:592145
nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Syntax error:
Encountered "group"
. {stmnt 33116517 CREATE TABLE Message (id BIGINT NOT NULL, created
TIMESTAMP, group VARCHAR(255), message VARCHAR(255), PRIMARY KEY (id))}
[code=30000, state=42X01]
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:549)
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:449)
     [java]     at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDB
CBrokerFactory.java:170)
     [java]     at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBroke
rFactory.java:130)
     [java]     at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBroker
Factory.java:186)
     [java]     at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBr
okerFactory.java:142)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:192)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:145)
     [java]     at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:56)
     [java]     at hellojpa.Main.main(Main.java:43)
     [java] Caused by:
org.apache.openjpa.lib.jdbc.ReportingSQLException: Syntax error:
Encountered "group" at line 1, column 62. {stmnt 33116517 CREATE TABLE
Message (id BIGINT N
STAMP, group VARCHAR(255), message VARCHAR(255), PRIMARY KEY (id))}
[code=30000, state=42X01]
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConne
ctionDecorator.java:192)
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(Loggin
gConnectionDecorator.java:57)
     [java]     at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection
$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:754)
     [java]     at
org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(Delegating
Statement.java:114)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:118
5)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:94
9)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)
     [java]     at
org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)
     [java]     at
org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:497)
     [java]     ... 9 more
 
BUILD FAILED
C:\bin\jpa_apache-openjpa-1.0.1-binary\examples\build.xml:84: Java
returned: 1
 
Total time: 9 seconds
C:\bin\jpa_apache-openjpa-1.0.1-binary\examples\hellojpa>
 
 

 


____________________________________________________________

• This email and any files transmitted with it are CONFIDENTIAL and intended
  solely for the use of the individual or entity to which they are addressed.
• Any unauthorized copying, disclosure, or distribution of the material within
  this email is strictly forbidden.
• Any views or opinions presented within this e-mail are solely those of the
  author and do not necessarily represent those of Odyssey Financial
Technologies SA unless otherwise specifically stated.
• An electronic message is not binding on its sender. Any message referring to
  a binding engagement must be confirmed in writing and duly signed.
• If you have received this email in error, please notify the sender immediately
  and delete the original.

Reply via email to