File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes Jboss:Hypersonic:Manual  table creation:CreateException Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Jboss:Hypersonic:Manual  table creation:CreateException" Watch "Jboss:Hypersonic:Manual  table creation:CreateException" New topic

Jboss:Hypersonic:Manual table creation:CreateException

clive jordan
Ranch Hand

Joined: Apr 27, 2005
Posts: 39
Hi Guys,

I know this is a rather jboss/hypersonic question, but I am having problems with manual database table creation with Hypersonic and entity beans.

I have a simple entity bean. I can ask Jboss to automatically create a table when the bean is deployed by defining this in my jbosscmp-jdbc.xml file:

And then I run my client to create a bean, all works fine and the entity is created in the database (checked using DatabaseManager).

If I drop the table and create it using SQL (actually from ant) using the following sql code:

The 'text' is a Hypersonic-specific sql statement.

and change the jbosscmp-jdbc.xml entry:

Then redeploy the app, all seems fine until I run the client. When the client calls the create() method, I get this:

CreateException:Could not create entity:java.sql.SQLException: The table's data source for has not been defined in statement [INSERT INTO PERSON (pid, name, age) VALUES (?, ?, ?)]

I have examined the table schema created by the sql file compared to that generated by jboss and they seem identical.

Am I missing something here or do I need to configure something else ?

Any help would be appreciated!

clive jordan
Ranch Hand

Joined: Apr 27, 2005
Posts: 39
Hi Guys,

I solved this problem so thought I'd round off in case anyone ever has the same issue.

In the hypersonic documentation, it states that you need to create a table with the text attribute in order to make it persistant and not a memory-only table:

create [B]text[/B] table person
pid varchar not null primary key,
name varchar,
age integer

However, this seems to cause Jboss to not recognize the table. Removing the 'text' solved the problem. So either the documentation is incorrect (or I dont understand it) or Jboss does something under the covers to make the table permanent when accessing it.

I agree. Here's the link:
subject: Jboss:Hypersonic:Manual table creation:CreateException
It's not a secret anymore!