【发布时间】:2012-06-08 19:54:13
【问题描述】:
我有一个用于从 SQL 数据库导入数据的 DataImportHandler。根实体Foo 有许多Bars。 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 以避免它们包含单引号时出现问题?
【问题讨论】: