Jak mam relację OneToMany (np. Post i Comment), to powinienem mieć jedno repository dla Posts i przez nie działać na Comments (np. getPostById -> post.add(comment, getPostById -> post.getComments itp, ale co wtedy z np. paginacją?) czy 2 oddzielne repozytoria (np. getCommentByCommentIdAndPostId)?
Relacja OneToMany i repozytoria - które podejście lepsze
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Gdańsk
0
Dwa repozytoria najlepiej i użyłbym @Query i napisał zapytania z palca w jpql zamiast tych długich nazw metod, które ciężko się utrzymuje.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2787
0
2 oddzielne - w jednym (PostRepository) będziesz wyciągał Post w razie potrzeby Optional<Post> PostRepository.findById(Long id), a CommentRepository użyjesz do dwóch metod: Optional<Comment> CommentRepository.findById(Long id) oraz Set<Comment> CommentRepository.findAllByPostId(Long postId).
Jak będziesz chciał dodać nowy komentarz do posta, to po prostu w obiekcie Comment ustawiasz postId i zapisujesz.
A co do paginacji to
https://www.baeldung.com/spring-data-jpa-pagination-sorting