SQLの条件コメント(繰り返しコメント)の特徴

Domaの条件コメント(繰り返しコメント)は、S2DaoS2JDBCとちがって節をまたぐことはできません。
たとえば、次の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*/ )


まだドキュメントに書いていなかったので次回のリリースで反映させます。あとエラーメッセージももう少しわかりやすいように改善するつもりです。