Hello everyone,
My first post here so please forgive the noobishness..
I've just started to play around with Hibernate, and am currently trying to get a simple project running using Java Persistence, with hibernate as the provider, and an HSQL database.
The ultimate error message I recieve is :
<<<<<<<<<<<
Hibernate: insert into MESSAGES (MESSAGE_ID, NEXT_MESSAGE_ID, MESSAGE_TEXT) values (null, ?, ?)
[java]
[java] Time:[2007-10-31 18:06:10,734]
[java] Priority:[WARN]
[java] Thread:[main]
[java] Message:[SQL Error: -22, SQLState: S0002]
[java]
[java] Time:[2007-10-31 18:06:10,734]
[java] Priority:[ERROR]
[java] Thread:[main]
[java] Message:[Table not found in statement [insert into MESSAGES (MESSAGE_ID, NEXT_MESSAGE_ID, MESSAGE_TEXT) values (null, ?, ?)]]
>>>>>>>>
However, I do have hibernate.hbm2dll.auto property set to create-drop in my persistence.xml file. Here is the persistence.xml file.
<<<<<<<<<<<<
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/ ... ce_1_0.xsd"
version="1.0">
<persistence-unit name="helloworld">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.archive.autodetection"
value="class, hbm" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
<property name="hibernate.connection.url" value="jdbc:hsqldb:somedb" />
<property name="hibernate.connection.username" value="sa" />
<property name="hibernate.c3po.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.hbm2dll.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>
>>>>>>>>>>>>>>>>>>>
As I understand it, hbm2ddl should run as soon as the underlying session factory is created. I do see the session factory being created in the logs, but nothing about hbm2ddl... Any suggestions would be appreciated!
BTW, here is my log at INFO level.
[java] log4j: Threshold ="null".
[java] log4j: Level value for root is [INFO].
[java] log4j: root level set to INFO
[java] log4j: Class name: [org.apache.log4j.ConsoleAppender]
[java] log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
[java] log4j: Setting property [conversionPattern] to [ %n Time:[%d]%n Priority:[%p]%n Thread:[%t]%n Message:[%m]%n].
[java] log4j: Adding appender named [ConsoleAppender] to category [root].
[java]
[java] Time:[2007-10-31 18:06:09,093]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Hibernate Annotations 3.3.0.GA]
[java]
[java] Time:[2007-10-31 18:06:09,109]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Hibernate 3.2.5]
[java]
[java] Time:[2007-10-31 18:06:09,109]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[hibernate.properties not found]
[java]
[java] Time:[2007-10-31 18:06:09,125]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Bytecode provider name : cglib]
[java]
[java] Time:[2007-10-31 18:06:09,125]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[using JDK 1.4 java.sql.Timestamp handling]
[java]
[java] Time:[2007-10-31 18:06:09,187]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Hibernate EntityManager 3.3.1.GA]
[java]
[java] Time:[2007-10-31 18:06:09,546]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Binding entity from annotated class: example.Message]
[java]
[java] Time:[2007-10-31 18:06:09,578]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Bind entity example.Message on table MESSAGES]
[java]
[java] Time:[2007-10-31 18:06:09,687]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Hibernate Validator 3.0.0.GA]
[java]
[java] Time:[2007-10-31 18:06:09,718]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[C3P0 using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:somedb]
[java]
[java] Time:[2007-10-31 18:06:09,718]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Connection properties: {user=sa, autocommit=true, release_mode=auto}]
[java]
[java] Time:[2007-10-31 18:06:09,718]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[autocommit mode: true]
[java]
[java] Time:[2007-10-31 18:06:09,734]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[MLog clients using log4j logging.]
[java]
[java] Time:[2007-10-31 18:06:09,890]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]]
[java]
[java] Time:[2007-10-31 18:06:09,968]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@63c687f5 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@12b59331 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge0zq7p1wu7alxwcemsu|15c07d8, idleConnectionTestPeriod -> 3000, initialPoolSize -> 3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 300, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 20, maxStatements -> 50, maxStatementsPerConnection -> 0, minPoolSize -> 3, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@637b6124 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1hge0zq7p1wu7alxwcemsu|64ab4d, jdbcUrl -> jdbc:hsqldb:somedb, properties -> {user=******, autocommit=true, release_mode=auto} ], preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1hge0zq7p1wu7alxwcemsu|609959, numHelperThreads -> 3 ]]
[java]
[java] Time:[2007-10-31 18:06:10,312]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[RDBMS: HSQL Database Engine, version: 1.8.0]
[java]
[java] Time:[2007-10-31 18:06:10,312]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[JDBC driver: HSQL Database Engine Driver, version: 1.8.0]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Using dialect: org.hibernate.dialect.HSQLDialect]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Automatic flush during beforeCompletion(): disabled]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Automatic session close at end of transaction: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[JDBC batch size: 15]
[java]
[java] Time:[2007-10-31 18:06:10,328]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[JDBC batch updates for versioned data: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Scrollable result sets: enabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[JDBC3 getGeneratedKeys(): disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Connection release mode: auto]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Default batch fetch size: 1]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Generate SQL with comments: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Order SQL updates by primary key: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Order SQL inserts for batching: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Using ASTQueryTranslatorFactory]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Query language substitutions: {}]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[JPA-QL strict compliance: enabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Second-level cache: enabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Query cache: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Cache provider: org.hibernate.cache.NoCacheProvider]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Optimize cache for minimal puts: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,343]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Structured second-level cache entries: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,359]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Echoing all SQL to stdout]
[java]
[java] Time:[2007-10-31 18:06:10,359]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Statistics: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,359]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Deleted entity synthetic identifier rollback: disabled]
[java]
[java] Time:[2007-10-31 18:06:10,359]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Default entity-mode: pojo]
[java]
[java] Time:[2007-10-31 18:06:10,359]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Named query checking : enabled]
[java]
[java] Time:[2007-10-31 18:06:10,390]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[building session factory]
[java]
[java] Time:[2007-10-31 18:06:10,640]
[java] Priority:[INFO]
[java] Thread:[main]
[java] Message:[Not binding factory to JNDI, no JNDI name configured]
[java] Hibernate: insert into MESSAGES (MESSAGE_ID, NEXT_MESSAGE_ID, MESSAGE_TEXT) values (null, ?, ?)
[java]
[java] Time:[2007-10-31 18:06:10,734]
[java] Priority:[WARN]
[java] Thread:[main]
[java] Message:[SQL Error: -22, SQLState: S0002]
[java]
[java] Time:[2007-10-31 18:06:10,734]
[java] Priority:[ERROR]
[java] Thread:[main]
[java] Message:[Table not found in statement [insert into MESSAGES (MESSAGE_ID, NEXT_MESSAGE_ID, MESSAGE_TEXT) values (null, ?, ?)]]
[java] Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [example.Message]
[java] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630)
[java] at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219)
[java] at example.HelloWorld.main(Unknown Source)
[java] Caused by: org.hibernate.exception.SQLGrammarException: could not insert: [example.Message]
[java] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
[java] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
[java] at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:40)
[java] at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
[java] at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
[java] at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
[java] at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
[java] at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
[java] at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
[java] at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
[java] at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
[java] at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
[java] at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
[java] at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213)
[java] ... 1 more
[java] Caused by: java.sql.SQLException: Table not found in statement [insert into MESSAGES (MESSAGE_ID, NEXT_MESSAGE_ID, MESSAGE_TEXT) values (null, ?, ?)]
[java] at org.hsqldb.jdbc.Util.throwError(Unknown Source)
[java] at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
[java] at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at com.mchange.v2.c3p0.stmt.GooGooStatementCache$1StmtAcquireTask.run(GooGooStatementCache.java:525)
[java] at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
[java] Java Result: 1