OutsideSqlアノテーション


public class BookDao {
@OutsideSql
public java.util.List selectAyashiiBookList(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 に含める予定です。