Как разбить выражение на большее количество строк в Hibernate import.sql?

В Hibernate есть возможность добавить файл import.sql в корень пути к классам, а выражения SQL из этого файла выполняются в базе данных при создании сеанса Hibernate.

Однако Hibernate выдает исключение, если какое-то выражение разбито на две или более строк. Как я могу разбить выражения SQL на большее количество строк?

Ответы

Ответ 1

Чтобы кто-то вроде меня нашел это через поиск:

Если вы используете Hibernate4, вы можете добавить следующее свойство

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

для вашей конфигурации спящего режима (мой JPA persistence.xml). Сравните с руководством пользователя и этой проблемой JIRA.

Примечание, что в Hibernate hibernate.cfg.xml спецификация не распознает атрибут value, и вы должны указать его как текстовое содержимое:

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

(спасибо Даниэлю Герберу за указание на это)

Ответ 2

Использовать точку с запятой; для разрыва строки не используйте enter или\n