CDO Hibernate Store
This part of the wiki discusses the features and functions of the CDO Hibernate Store. The CDO Hibernate store integrates Teneo and Hibernate within the CDO store concept. This combination of tools gives the user/developer the following advantages:
- Database support: Hibernate provides superior runtime Object Relational Mapping to many different relational databases. We test with mysql and hsqldb but there no known obstacles for using CDO on all other databases supported by Hibernate.
- HQL: the CDO Hibernate store makes it possible to execute HQL queries on the client. The complete HQL syntax is supported (incl. joins, aggregations, functions, etc.).
- Automatic mapping: Teneo takes care of automatic mapping of your model to a relation database schema. The relational database schema is very readable and makes use of common database constructs as foreign keys, indexes etc. The automatic mapping can be manually overridden using JPA annotations in the model or in a separate XML file.
The CDO Hibernate Store supports the same api as other CDO stores with
The documentation for the CDO Hibernate Store consists of different sections.
The [CDO_Hibernate_Store_Architecture architecture] document describes the
Current status and limitations
There are about 580 testcases in the CDO testsuite. Currently CDO Hibernate successfully passes 540 testcases. The remaining testcases are related to functions and features not (yet) supported by the CDO Hibernate store. Although the CDO Hibernate store itself is quite new, it is based on the Teneo project which has had a longer history and which has participated in several major Eclipse releases.
The CDO Hibernate Store currently does not support the following CDO features:
- auditing and revisions: this topic is being researched. Support for auditing as it is currently implemented in CDO implies that there are no foreign key constraints in the database. This has to be matched with the focus of the CDO Hibernate store on supporting more traditional ERP/Business Administration applications.
- XATransactions: xatransactions are not tested well and not all test cases pass currently