Note: In order to run ODE/BPS under Hibernate, you will have to include external dependencies (and accept Hibernate LGPL license).
By default,
Apache ODE/WSO2 BPS uses
OpenJPA as the persistence layer, but also includes implementation for Hibernate as well. For switching to Hibernate add the following system propety. (For WSO2 BPS you can do it via $CARBON_HOME/bin/wso2server.sh)
-Dode.persistence=hibernate \
Make sure you have copied the required Hibernate jar to
$CARBON_HOME/repository/components/lib directory.
If you are getting errors at server start up, check whether the necessary tables have been automatically created by Hibernate. If not, you can use a script to manually create the tables (similar to the following used for
MySQL DB) Note Hibernate has slightly different database schemas and also uses "
BPEL_" prefix in table names instead of "
ODE_" prefix.
If you are using a DB other than
Apache Derby, H2, MySQL or
Oracle, and having trouble resolving the DB dialect from the database product name, you can manually set the HIBERNATE_DIALECT in
org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl class. For implementation details see
dao-hibernate and
dao-hibernate-db modules in Apache ODE source.
Related discusson on
"Switch to the hibernate DAO layer" mail thread.