[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Not finding the table and opening a database



I'm trying to write a standalone program that uses EJB persistence and I 
have two problems:

1) How can you set up the connection so that it will open the database 
if it exists and create one if it doesn't?

2) When I try to persist an object, it tells me that the table doesn't 
exist.  I'm using hibernate and mckoi and I was under the impression 
that the persistence layer would take care of creating the table.  What 
could I be doing wrong?

Here's my error listing:
Exception in thread "main" javax.persistence.PersistenceException: 
org.hibernate.exception.GenericJDBCException: could not insert: [Item]
    at 
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630)
    at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219)
    at DatabaseClient.main(DatabaseClient.java:60)
Caused by: org.hibernate.exception.GenericJDBCException: could not 
insert: [Item]
    at 
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
    at 
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
    at 
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at 
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:40)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
    at 
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
    at 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
    at 
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
    at 
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
    at 
org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
    at 
org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
    at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
    at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
    at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213)
    ... 1 more
Caused by: com.mckoi.database.jdbc.MSQLException: Table 'APP.Item' does 
not exist.
    at 
com.mckoi.database.jdbcserver.AbstractJDBCDatabaseInterface.handleExecuteThrowable(AbstractJDBCDatabaseInterface.java:289)
    at 
com.mckoi.database.jdbcserver.AbstractJDBCDatabaseInterface.execQuery(AbstractJDBCDatabaseInterface.java:479)
    at 
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:251)
    at 
com.mckoi.database.jdbc.MConnection.executeQuery(MConnection.java:453)
    at 
com.mckoi.database.jdbc.MConnection.executeQueries(MConnection.java:436)
    at 
com.mckoi.database.jdbc.MStatement.executeQueries(MStatement.java:193)
    at com.mckoi.database.jdbc.MStatement.executeQuery(MStatement.java:167)
    at 
com.mckoi.database.jdbc.MPreparedStatement.executeUpdate(MPreparedStatement.java:203)
    at 
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:33)
    ... 16 more
Thanks,
* Robinson

-- 
A child of five could understand this!  Fetch me a child of five.