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

时间:2011-01-12 22:41:34

标签: sql hibernate

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

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

1 个答案:

答案 0 :(得分:38)

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

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

<property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />

到你的hibernate配置(我的是JPA的persistence.xml)。 与user manual和此JIRA issue进行比较。

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

<property name="hibernate.hbm2ddl.import_files_sql_extractor">org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor</property>

(感谢Daniel Gerber指出这一点)