SQLファイルの繰り返しコメントのhasNextの構文を見直し
これまでこんな構文でした。
select * from employee where /*%if ages.size() > 0 */ /*%for age : ages */ age = /* age */30 /*%hasNext " or"*/ /*%end */ /*%end */
次のバージョン(0.9.12)では、FreeMarkerっぽくxxx_has_nextという変数にbooleanの値を割り当てこうすることにします。
select * from employee where /*%if ages.size() > 0 */ /*%for age : ages */ age = /* age */30 /*%if age_has_next */ or /*%end */ /*%end */ /*%end */
この場合だと、ifコメントに統合できて見通しがいいですし、forをネストしても外側のxxx_has_nextを参照できて汎用性が高いからです。
ここでは、例としてorの連結を繰り返していますが、このようなクエリを書く場合は本当はin句を使ったほうがすっきりします。
select * from employee where age in /* ages */(10, 20, 30)