У меня есть DataImportHandler для импорта данных из базы данных SQL. Корневой объект Foo
имеет много Bar
. Таблица Bar
использует Foo.Name
в качестве внешнего ключа. Некоторые имена Foo заключены в одинарные кавычки, например STW's
.
Запрос на импорт объекта Bar
выглядит примерно так:
select name from Bar where Foo_Name = ${Foo.Name}
Однако, когда Foo.Name содержит одинарную кавычку, импорт завершается ошибкой с исключением SQL Incorrect syntax near 's
.
Я попытался обернуть параметр с помощью escapeSql(${Foo.Name})
, но он, похоже, не вызывается - выполняемый sql - where Foo_Name = 'escapeSql(STW's)'
Как мне правильно избежать Foo.Name
, чтобы избежать проблем, когда они содержат одинарные кавычки?