aptでバインド変数コメントをバリデーション

Domaではsql上のバインド変数は、コメントでDaoのメソッドのパラメータ名とマッピングします。
たとえばこんなかんじ。idがマッピングされます。

SQLファイル
select * from employee where id = /*:id*/99
Daoのメソッド
@Select
Employee selectById(Id id);


でも、あわせたつもりでもときどき書き間違えるじゃないですか。たとえばidとすべきところをemployeeIdとしたり。

Daoのメソッド
@Select
Employee selectById(Id employeeId);

そういうとき、通常は実行時にエラーがでてきづくわけですが、Domaではコンパイル時にaptでチェックします。


バインド変数コメントがネスとしたプロパティ(エンティティのプロパティ)を参照するときもチェックします。たとえば次のようなsqlファイルとDaoのメソッドがあるとします。

SQLファイル
select * from employee where id = /*:employee.id*/99
Daoのメソッド
@Select
Employee selectById(Employee employee);

SQL内で「employee.id」と指定しているので、Employeeクラスにidという名前のプロパティが存在するかチェックするというわけです。これはなかなか便利な機能だと思います。

追記

いまはバインド変数コメントを/*:id*/としてセミコロンを使っていますが、S2DaoS2JDBCに合わせて/*id*/とするかも。自分がよく書き間違うので。