0

アプリケーションを実行すると、次のエラースタックが発生します。

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なのはなぜですか?アプリケーションが実行時に間違った子クラスを「選択」している可能性はありますか?それとも私が見ることができない他の問題がありますか?

4

1 に答える 1

0

countプリコンパイルされたステートメントでSQL関数が使用されており、ゼロまたは負の引数を取得していると思われます。

これは、一部のパラメータに間違った値を設定したことが原因である可能性がありますが、同じSQLでもエラーになる可能性があります。

于 2013-02-12T11:34:15.093 に答える