Daoのメソッドから1カラムだけを取得しようとしていることがわかる場合のチェックを強化

どういうことかというと、たとえば次のDaoメソッドがあるとします。

@Select
int count();

このような場合、対応するSQLのSELECT節には、次のように2つ以上のカラムがあってはいけないということです。

select count(*), max(salary) from hoge

実行すると、NonSingleColumnExceptionがスローされます。つまり、Daoのメソッドの戻り値の型から1カラムだけを取得しようとしていることがわかるので、SQLもそうしてねというわけです。正しいSQLはこう。

select count(*) from hoge

これまでは、カラムの数をチェックせず先頭の1カラムを返していましたが、SQLの書き間違えを早期に発見するために導入しました。SNAPSHOTあります。よければどうぞ。次のバージョンは1.5.0にします。

http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.5.0-SNAPSHOT/doma-1.5.0-20100413.122511-1.jar