更新系メソッドでSQLファイルを使う場合もエンティティリスナーを呼び出すように変更

Domaですが、次のバージョン(1.7.0)から、Daoの更新系メソッドでSQLファイルを使う場合もエンティティリスナーを呼び出すようにします(これまでは、SQL自動生成の更新系メソッドdだけが対象でした)。SQLファイルを使ったバッチ更新のときも呼び出します。

リスナー
// リスナーはデータベースにSQLを発行する直前に呼び出されます
public class EmployeeListener implements EntityListener<Employee> {
    @Override
    public void preDelete(Employee employee) {
       ...
    }
    @Override
    public void preInsert(Employee employee) {
       ...
    }
    @Override
    public void preUpdate(Employee employee) {
       ...
    }
}
エンティティ
// リスナーはエンティティに指定しておきます
@Entity(listener = EmployeeListener.class)
public class Employee {
    ...
}
Dao
@Dao(config = AppConfig.class)
public interface EmployeeDao {

    @Update
    int update(Employee employee); // リスナーを呼び出す

    @Update(sqlFile = true)
    int updateWithSqlFile(Employee employee); // これまでリスナーを呼び出さなかったけど次のバージョンからは呼び出す

    @BatchUpdate
    int batchUpdate(List<Employee> employee); // リスナーを呼び出す

    @Update(sqlFile = true)
    int batchUpdateWithSqlFile(List<Employee> employee); // これまでリスナーを呼び出さなかったけど次のバージョンからは呼び出す

    @Update(sqlFile = true)
    int updateNameAndAge(String name, int age); // 更新対象がエンティティでない場合はリスナー呼び出さない
}

いま思えば、最初からこういう仕様にしておけばよかったわけですが、なぜかこの仕様を思いつかず、SQLファイルを使う場合が若干不便でした。でもこれで使い勝手がよくなるはず。
リスナーは、タイムスタンプや更新者情報などの設定に適しています。