Relacja OneToMany i repozytoria - które podejście lepsze

Relacja OneToMany i repozytoria - które podejście lepsze
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 94
0

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

LU
  • 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.

PI
  • 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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.