GROUP BY句におけるDomaの条件コメント記述方法について
Spring BootアプリでDomaを使ったアプリ開発において、SQLテンプレートにて条件コメントによるgroup by句の生成制御を試みているのですが、分からない部分があるので質問させてください。
DomaのSQLテンプレートにおいて、Daoメソッドパラメータにより条件式を動的に組み立てる際に、where句では条件式がすべて生成されない場合はwhere句自身も生成されませんが、group by句ではgroup by句が取り残されてしまうようです。
テンプレート記述
group by
/*%if condtion */
col1, col2
/*%end*/
conditionがfalse時に生成されたSQL
group by
ドキュメントの記述を見る限り、条件コメントはgroup by句に記述可能と思われます。
http://doma.readthedocs.io/ja/stable/sql/#id16
条件コメントにおける制約
条件コメントの if と end はSQLの同じ節に含まれなければいけません。 節とは、 SELECT節、FROM節、WHERE節、GROUP BY節、HAVING節、ORDER BY節などです。
とりあえず今は、以下のようにダミーのgroup by項目(id相当)と切り替えることで回避していますが、こちらもwhere句と異なりカンマの編集が行われないようです。
group by
/*%if condtion */
col1, col2
/*%else*/
dummy -- 文法上「,dummy」としたいが「group by ,dummy」と生成されアプリ実行時にエラーとなる
/*%end*/
上記問題を解決できる方法がありましたら教えて下さい。
環境
Spring Boot: 1.5.2
doma-spring-boot-starter: 1.1.1
Doma: 2.16.1