Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

CDO/Hibernate Store/Troubleshooting

This page lists common issues which you can encounter when using the CDO Hibernate Store.

My database does not get created

Hibernate will not create the database for you, you have to manually create a database. You don't need to create the tables and other database schema parts. That's done by hibernate.

Hibernate drops my database when the application stops

This is probably the hibernate.hbm2ddl.auto property in the cdo-server.xml, change it from 'create-drop' to 'update'.

JPA Annotations in the model are not picked up by Teneo

To make the JPA annotations in the model visible you need to regenerate the java code. EMF creates the in-memory ecore package using the generated java code (depends on a configuration setting) and not the original ecore file.

My JPA annotation XML file is not visible to Teneo, I see related exceptions in the log

Make sure that:

  • the relevant property (teneo.mapping.persistence_xml)is set in the cdo-server.xml, the value must be a classpath path, for example: /org/eclipse/emf/cdo/hibernate/annotations/annotations.xml (if the annotations.xml is located in the org.eclipse.emf.cdo.hibernate.annotations package.
  • the package/path in which the annotations xml file is present must be exported by the plugin. An alternative is to place the annotations xml file in the /META-INF directory of the plugin then it is copied to the output path automatically.
  • the annotations xml file is copied to the output path, it should be explicitly flagged in the build.properties in the bin.includes/binary build part.
  • the plugin which contains the annotations xml should depend on the org.eclipse.emf.cdo.server.hibernate.teneo plugin (otherwise the Teneo plugins won't be able to reach the annotations file).

With Teneo I can use a manual hbm file also, is that possible with the CDO Hibernate store?

Yes, that's possible. However, the file generated for Teneo standard will not work for the CDO Hibernate store. You need to generate a new one. See here for more information.

How can I see the Hibernate SQL statements?

See here for details on how to setup logging in Hibernate with CDO.

My insert statements fail with table not found or similar statements

Depending on the setting of the hibernate.hbm2ddl.auto property Hibernate will automatically create the tables for you. However, Hibernate will often ignore failing create table statements and start up without throwing exceptions. It is often best to check the created tables in the database directly.

Enable hibernate logging (see above) and then specifically the log4j.logger.org.hibernate.tool.hbm2ddl setting to get more details of the create table statements.

Relevant links for more information



Wikis: CDO | Net4j | EMF | Eclipse

Back to the top