I am trying to import a sql script for H2. This script is provided by spring-batch and it\'s used to store the jobs metadata. When I execute this script directly in the H2
I finally found the answer to my question. Based on Ralph's answer, to correct this issue, add the following property for hibernate :
jpaProperties.setProperty("hibernate.hbm2ddl.import_files_sql_extractor", "org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor");
Or in XML :
<property key="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
This class MultipleLinesSqlCommandExtractor is an implementation of the interface ImportSqlCommandExtractor. This is interface is called when doing SchemaExport with Hibernate. The default implementation is SingleLineSqlCommandExtractor and for unknown reason returns a syntax error. Replacing the single line extractor with the multiple line extractor solved the isssue.
Try to write each of your create statements in one line.
The statement delimiter in import.sql is a newline. If you want to change it, then you need to use Hibernate > 4.1. There you can Implement a MultipleLinesSqlCommandExtractor and specify it by hibernate.hbm2ddl.import_files_sql_extractor