アプリケーションを実行すると、次のエラースタックが発生します。
java.lang.IllegalArgumentException: count parameter must be greater than zero
at myApplication.util.StatementUtil.expand(StatementUtil.java:83)
at myApplication.GetBananasByIdsQuery.getSQL(GetBananasByIds.java:49)
at myApplication.Query.executeQuery(Query.java:87)
at myApplication.BananasServiceJDBCImpl.get(BananasServiceJDBCImpl.java:181)
at myApplication.BananasResource.queryForBananas(BananasResource.java:127)
以下は、BananasServiceJDBCImpl.get()のコードの一部です。エラーの原因は次のとおりです。
List<BananasDataReply> requestedBananas = new GetBananasByNamesQuery(names).executeQuery();
したがって、私の問題はエラー自体ではなく、エラーが発生した場所でエラーが発生する理由です。私のアプリケーションでは、QueryはGetBananasByNamesQueryやGetBananasByIdsQueryなどの多くのクラスによって拡張され、それらはすべてgetSQLメソッドを拡張します。GetBananasByNamesQueryオブジェクトを使用しているのにGetBananasByIdsQuery.getSQLなのはなぜですか?アプリケーションが実行時に間違った子クラスを「選択」している可能性はありますか?それとも私が見ることができない他の問題がありますか?