SQLの条件コメント(繰り返しコメント)の特徴
Domaの条件コメント(繰り返しコメント)は、S2DaoやS2JDBCとちがって節をまたぐことはできません。
たとえば、次のSQLは条件コメントの始まりがFROM節にあって終わりがWHERE節にあるので不正です。
select * from aaa /*%if bbb != null */ where bbb = /* bbb */'hoge' /*%end*/
正しい使い方はこう。以下のSQLでは、条件コメントの始まりと終わりがWHERE節の中にあります。
select * from aaa where /*%if bbb != null */ bbb = /* bbb */'hoge' /*%end*/
この例では、bbbがnullであればWHERE節が自動で除去されたSQLに変換されるので困らないと思います。
ちなみに、開き括弧や閉じ括弧を条件コメント(繰り返しコメント)の終わりと始まりで分断することもできません。つまりこういうのはダメ。
/*%if ... */ ( /*%end*/ )
まだドキュメントに書いていなかったので次回のリリースで反映させます。あとエラーメッセージももう少しわかりやすいように改善するつもりです。