私はJpaRepositoryを始めたばかりで、他の人がそれを処理するためにどのようなパターンを使用しているのか疑問に思っています。daoレイヤーに少なくとも2つのリポジトリを宣言することになったことに気付きました。
public interface CustomerRepository extends JpaRepository<Customer, Integer> {
Customer findById(Integer id);
Page<Customer> findByLastname(String name, Pageable pageable);
Page<Customer> findByLastnameLike(String name, Pageable pageable);
}
public interface FilmRepository extends JpaRepository<Film, Long>
Page<Film> findByTitleLike(String name, Pageable pageable);
Page<Film> findByDescriptionLike(String name, Pageable pageable);
Film findById(Long id);
}
ほとんどの人は、別々のコントローラーとサービスレイヤー(インターフェイスごとに1つ)を推奨/試して使用しますか、それとも可能な限り組み合わせますか?この質問はアプリケーション固有のものであると認識していますが、JpaRepositoryインターフェースを使用する場合、この点に関する一般的なベストプラクティスはありますか?私はそれらを組み合わせることになり、率直に言ってそれは混乱しているように見え、私は書き直しを考えています。