[Seasar-user:13141] [S2JDBC]SQLファイルによる操作でlike文が上手くいかない

出羽 健一 [E-MAIL ADDRESS DELETED]
2008年 3月 4日 (火) 00:06:21 JST


出羽です、いつもお世話になっております。

SAStrutsのチュートリアル(1.0.1-rc4)に入っている
S2JDBCを使って簡単なSQLファイルによる操作のコードを書いてみました。

  String sqlFilePath = "tutorial/sql/employee/likeTest.sql";
  this.name = "A";
  List<Employee> employeeItems = jdbcManager
      .selectBySqlFile(Employee.class, sqlFilePath, this)
      .getResultList();


likeTest.sqlファイルの内容は以下のとおりです。
select * from employee
where
name like /*name*/'S%'


コードを実行すると次のようなSQL文が
生成されるものと期待していました。

select * from employee
where
name like 'A%'


しかし、実際に生成されたSQL文は以下のとおりで、
期待した結果と異なっていました。

[getCompleteSqlメソッドによるログ]
select * from employee
where
name like 'A'

[getRawSqlメソッドによるログ]
select * from employee
where
name like ?


この現象について、何か分かることがございましたら
ご教授頂ければ助かります。

PS. this.name = "A%"; のようなコードにすると
  期待通りのSQLが得られるのですが、ひょっとして、
  これが正しい使い方!?


Seasar-user メーリングリストの案内