Derby Support?

218 views
Skip to first unread message

philip...@gmail.com

unread,
Apr 12, 2010, 4:11:37 PM4/12/10
to Ebean ORM
Hello,

is Derby supported? I am getting the following error when I try to
use Derby 10.2.2.0 (embedded driver).

Regards,
Philip

executing 1 of 1 create table test_bean (id
integer not null auto_incremen...
12-Apr-2010 21:02:35
com.avaje.ebeaninternal.server.lib.sql.DataSourcePool
validateConnection
INFO: Can not test connection as heartbeatsql is not set
12-Apr-2010 21:02:35
com.avaje.ebeaninternal.server.lib.sql.PooledConnection
closeConnectionFully
INFO: Closing Connection[PDS.2] psReuse[0] psCreate[1] psSize[0]
Exception in thread "main" javax.persistence.PersistenceException:
Error: Error executing stmt[create table test_bean
(id integer not null auto_increment,constraint
pk_test_bean primary key (id))] error[Syntax error: Encountered
"auto_increment" at line 1, column 68.]
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runScript(DdlGenerator.java:
232)
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runDdl(DdlGenerator.java:
94)
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.execute(DdlGenerator.java:
66)
at
com.avaje.ebeaninternal.server.core.DefaultServerFactory.executeDDL(DefaultServerFactory.java:
312)
at
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:
209)
at
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:
67)
at com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:
77)
at ie.ucc.pds.server.Database.startEbean(Database.java:91)
at ie.ucc.pds.server.Database.main(Database.java:110)
Caused by: java.lang.RuntimeException: Error executing stmt[create
table test_bean (id integer not null
auto_increment,constraint pk_test_bean primary key (id))] error[Syntax
error: Encountered "auto_increment" at line 1, column 68.]
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runStatement(DdlGenerator.java:
280)
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runStatements(DdlGenerator.java:
245)
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runScript(DdlGenerator.java:
223)
... 8 more
Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered
"auto_increment" at line 1, column 68.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown
Source)
at
com.avaje.ebeaninternal.server.lib.sql.PooledConnection.prepareStatement(PooledConnection.java:
393)
at
com.avaje.ebeaninternal.server.lib.sql.PooledConnection.prepareStatement(PooledConnection.java:
363)
at
com.avaje.ebeaninternal.server.ddl.DdlGenerator.runStatement(DdlGenerator.java:
270)
... 10 more
Caused by: java.sql.SQLException: Syntax error: Encountered
"auto_increment" at line 1, column 68.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
Source)
... 26 more

Rob Bygrave

unread,
Apr 12, 2010, 7:13:42 PM4/12/10
to eb...@googlegroups.com
Derby is not one of the built in DatabasePlatforms no. If you wanted to build one you could have a look in com.avaje.ebean.config.dbplatform ... which includes H2Platform, MsSqlServer2005Platform, Oracle10Platform, PostgresPlatform.

You can have a quick look at those to get an idea of what is involved. 

Basically I haven't got around to it (use H2 instead) and no one has supplied one yet.


Cheers, Rob.



--
To unsubscribe, reply using "remove me" as the subject.

philip...@gmail.com

unread,
Apr 12, 2010, 8:28:09 PM4/12/10
to Ebean ORM
Hi Rob,

thanks for the speedy response. I tried switching over to H2. Now
I am getting another exception caused by enums declared as standalone
classes (i.e., in their own .java files). I had a look at the code
causing the problem in DeployUtil.java:

Class<?> enumType = prop.getPropertyType();
if (!enumType.isEnum()) {
throw new IllegalArgumentException("Not a Enum?");
}

Calling .isEnum() on the classes in question returns true, so I guess
the problem is caused by the enhancement process? I have included a
stack trace below.

Regards,
Philip

SEVERE: Error in deployment
java.lang.RuntimeException: Error reading annotations for
entities.Channel
at
com.avaje.ebeaninternal.server.deploy.parse.ReadAnnotations.readInitial(ReadAnnotations.java:
45)
at
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createDeployBeanInfo(BeanDescriptorManager.java:
975)
at
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentInitial(BeanDescriptorManager.java:
506)
at
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:
244)
at
com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:
135)
at
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:
189)


at
com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:
67)
at com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:
77)

at ie.ucc.pds.server.Database.startEbean(Database.java:93)
at ie.ucc.pds.test.TestDbPersistence.startDb(TestDbPersistence.java:
21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:
74)
at
org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:
50)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:
33)
at
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:
52)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
38)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196)
Caused by: java.lang.IllegalArgumentException: Not a Enum?
at
com.avaje.ebeaninternal.server.deploy.parse.DeployUtil.setEnumScalarType(DeployUtil.java:
157)
at
com.avaje.ebeaninternal.server.deploy.parse.AnnotationFields.readField(AnnotationFields.java:
146)
at
com.avaje.ebeaninternal.server.deploy.parse.AnnotationFields.parse(AnnotationFields.java:
113)
at
com.avaje.ebeaninternal.server.deploy.parse.ReadAnnotations.readInitial(ReadAnnotations.java:
41)
... 23 more

Rob Bygrave

unread,
Apr 14, 2010, 8:04:21 AM4/14/10
to eb...@googlegroups.com

> caused by enums declared as standalone classes

No, that will not cause a problem (I just verified it).

I'll fix the error message to output the actual type which it thinks is not an enum.  Can you check the fully qualified class name of the enum?


Thanks, Rob.





--
Reply all
Reply to author
Forward
0 new messages