Как избежать одиночной кавычки с MultipleLinesSqlCommandExtractor - PullRequest
0 голосов
/ 03 мая 2020

В проекте Spring Boot я использую файл импорта. sql для инициализации базы данных. Сегодня у меня нет никаких проблем, и это работает правильно. Это фрагмент исходного файла:

insert into ref_building (code, label, description) values ("METAL", "Métal", "Permet d'extraire");
insert into ref_building (code, label, description) values ("PETROLE", "Pétrole", "Permet d'extraire");

Чтобы улучшить читаемость файла SQL, я решил использовать MultipleLinesSqlCommandExtractor в свойствах YAML, например:

spring:
   jpa :
     properties:
      hibernate:
        connection:
          charSet: UTF-8
        hbm2ddl:
          import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor

После добавления этой ошибки у меня возникает ошибка с Spring Boot.

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "insert into ref_building [...]

После анализа проблема заключается в одинарной кавычке («Permet d'extraire»)

Таким образом, я избегаю одиночной кавычки следующим образом:

insert into ref_building (code, label, description) values ("METAL", "Métal", "Permet d''extraire");
insert into ref_building (code, label, description) values ("PETROLE", "Pétrole", "Permet d''extraire");

У меня нет ошибки при запуске, но в моей базе данных я нахожу значение: Permet d''exraire (с двумя одинарными кавычками)

Я не понимаю, как избежать этого правильно (и почему это не работает конкретно с MultipleLinesSqlCommandExtractor).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...