在Hibernate中,有可能在类路径的根目录中添加import.sql
文件,并且在创建Hibernate会话时,将在数据库上执行此文件中的SQL表达式。
但是,如果某个表达式被分成2行或更多行,则Hibernate会抛出异常。如何将SQL表达式分解为更多行?
答案 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指出这一点)