[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 メーリングリストの案内