Witam, mam pytanie odnośnie Spring Data Jpa.
- Czy jeśli mam relację User - Movie many to many i chcę wyciągnąć user.getMovies() to muszę to zrobić w taki sposób w UserRepository:
@Transactional(readOnly = true)
@Query("select m from Movie m INNER JOIN m.users u where u.id = ?1")
public List<Movie> getUserMovies(long idUser);
?
Czemu nie da się w serwisie stworzyć metody:
@Transactional(readOnly = true)
public List<Movie> getUserMovies(User user) {
return user.getMovies();
}
Czy może jest jakiś inny mądrzejszy sposób?
2. Czy w kontrolerach powinno się używać repozytoriów czy tylko serwisów? Jeśli tylko serwisów to powinny posiadać dodatkowe metody i nadpisywać metody z repozytoriów?
karolinaa