私は1つの奇妙な動作の理由を見つけようとしています。私はいくつかの方法を含むSpringのデータリポジトリを持っていると言うことができます。エンティティが見つからないときは、IncorrectResultSizeDataAccessExceptionが発生します。複数が見つかったときに最初に返される
public Entity findByEntityKeyAndValidToDateAfterAndCorrectionDateAfter(BigInteger entityKey, Timestamp validToDate, Timestamp correctionDate);
私は次のエラーでスタックトレースで問題を受け取ります:
org.springframework.dao.IncorrectResultSizeDataAccessException
私はこのクエリを実行するときに返されなければなら二つのレコードを追加することにしましたそのうちの一つは、このような署名を持っています。 例外をスローする代わりにこのメソッドを呼び出した後、クエリは結果の1つのみを返します。これは私の奇妙なのはなぜ私はログからクエリをコピーし、私のSQL開発者に同じパラメータでそれを実行する理由です。クエリは両方の結果を返します。
public List<Entity> findByEntityKeyAndValidToDateAfterAndCorrectionDateAfter(BigInteger entityKey, Timestamp validToDate, Timestamp correctionDate);
この場合、クエリは2つの結果を返します。
なぜこのようなことが起こるのでしょうか?なぜこのクエリでこの例外がスローされないのですか?特異型を返す検索方法を使用する場合
スプリングデータバージョンが1.10.1.RELEASE
どのレポジトリを使用していますか?それはCRUDリポジトリですか? – Rafa
いいえ、リポジトリです。 –
例外の完全なスタックトレースを投稿できますか? –