public class BookDao {
@OutsideSql
public java.util.ListselectAyashiiBookList(String name);
}と書くと、「このメソッドは絶対に外だしSQLを利用すること」を保証します。
今まで、外だしSQLを期待して、
「SQLファイルの名前が違う」・「リソースになってない」
などの理由で、そのメソッドがSQL自動生成のメソッドと認識されてしまい、
「意図しないSQLになる」・「Column(name) not foundエラーになる」
という結果となっていました。
特に「Column(name) not foundエラー」は、知らない人は全く太刀打ちできません。
これで悩んで止まっている人を何度見かけたことか・・・
「このエラーはちょっとひどいよねぇー」という声を何度も聞きました。
よってDBFluteでは、上記のようなアノテーションを設けました。
(そもそもDBFluteを利用する場合は、手動で設定するメソッドはほぼ99%外だしSQLです)C#版では
[OutsideSql]
void selectXxx...();
となります。DBFlute-0.4.2 に含める予定です。