如何在Hibernate的import.sql中将表达式分解为更多行?

amo*_*fis 19 sql hibernate

在Hibernate中,有可能import.sql在类路径的根目录中添加文件,并且在创建Hibernate会话时,将在数据库上执行此文件中的SQL表达式.

但是,如果某个表达式被分成2行或更多行,则Hibernate会抛出异常.如何将SQL表达式分解为更多行?

mab*_*abi 41

为了像我这样的人通过搜索找到这个:

如果您使用的是Hibernate4,则可以添加以下属性

<property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
Run Code Online (Sandbox Code Playgroud)

你的hibernate配置(我的是JPA persistence.xml).与用户手册和本JIRA问题进行比较.

请注意,在Hibernate的hibernate.cfg.xml中,规范无法识别该value属性,您应该将其作为文本内容提供:

<property name="hibernate.hbm2ddl.import_files_sql_extractor">org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor</property>
Run Code Online (Sandbox Code Playgroud)

(感谢Daniel Gerber指出这一点)