Springデータの残りを使用しており、@ Queryを使用して2つのオーバーロードされたfindAllメソッドのクエリをカスタマイズしようとしています。慣例によりSpringデータの残りのページングとソートのクエリをカスタマイズする
これらのメソッドが含まれていないURLと呼ばれているjava.lang.IllegalStateException: Ambiguous search mapping detected. Both public abstract org.springframework.data.domain.Page courses.CourseRepository.findAll(org.springframework.data.domain.Pageable) and public abstract java.lang.Iterable courses.CourseRepository.findAll(org.springframework.data.domain.Sort) are mapped to /findAll! Tweak configuration to get to unambiguous paths!
/のfindAll:私はこれをしようとすると、しかし、私はこのエラーが発生しました。ソートされていないコースを取得する(ただし、ページングを使用して)ためのURLは
とソートです。ここかなり簡単です関連するコード、だ
です:私もしまし
public interface CourseRepository extends PagingAndSortingRepository<Course, Long> {
@Override
@Query("SELECT c FROM Course c WHERE c.visible = 'Yes'")
Page<Course> findAll(Pageable pageable);
@Override
@Query("SELECT c FROM Course c WHERE c.visible = 'Yes'")
Iterable<Course> findAll(Sort sort);
}
は、コースエンティティで@NamedQueryを使用して、同じエラーメッセージを表示しようとしました。
EDIT:
のfindAll(ページング可能ページング可能)メソッドは、しかし、それは結果をソートしない、「ビルトイン」をソートしていることを私が発見しました。次のURLにヒットしてタイトルでソートしようとすると、結果はタイトルではっきりとソートされません。しかし、カスタム@Queryがなければ、結果はソートされます。
ソートしないだけで問題はありますか?リポジトリメソッドを呼び出すためのコードを送ることができますか?findAll(Pageable pageable);.実際にソートを設定する場所。 – Shaan
@PremkumarMathivananはSpring Data Restです。findAllの呼び出しは背後にあります。私はそのメソッドを呼び出す特定のコードを持っていません。 – acvcu
私は近くであなたに答えましたか? – Shaan