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)?
0
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.
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