Why does Reference Metadata module fail to start with JDBC errors?

The reference metadata module won’t start in my installation.

On manage modules screen I am getting error ‘Error while starting module referencemetadata’ (without details).

In the server log these errors are shown:

ERROR - JDBCExceptionReporter.logExceptions(234) |2016-02-19 15:43:58,693| 
Cannot delete or update a parent row: a foreign key constraint fails (`openmrs`.`concept`, CONSTRAINT `concept_classes` FOREIGN KEY (`class_id`) REFERENCES `concept_class` (`concept_class_id`))
ERROR - LoggingAdvice.invoke(135) |2016-02-19 15:43:58,707| An error occurred while executing this method.
Current user: admin
Error message: Could not execute JDBC batch update; SQL [delete from concept_class where concept_class_id=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

I am using Platform 1.11.5 (upgraded from 1.9.3) and Reference Metadata Module 2.3.1. I am using all modules bundled in the 2.3.1 module package provided on the openmrs website. Before upgrading the reference application order entry concepts were imported. Also all other necessary changes as described on the upgrade wiki page were applied.