Nauka Spring+hibernate. Aplikacja webowa
Ucze się z video Tutoriali ale czasem mam wrazenie ze nie wszystko rozumiem. W tym przypatku nie rozumiem działania repository :)
Chce pokazac w „user/{id}” blogi należące do usera.
Najpierw Kod z tutoriala dziala ladnie :)
**entity**
**User**
@OneToMany(mappedBy = "user")
private List<Blog> blogs;
**Blog**
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
**Controler**
@RequestMapping("user/{id}")
public String detail(Model model, @PathVariable int id) {
model.addAttribute("user", userService.findOneWithBlogs(id));
return "usersInfo";
}
**Service**
public User findOne(int id){
return userRepository.findOne(id);
}
@Transactional
public User findOneWithBlogs(int id) {
User user = findOne(id);
List<Blog> blogs = blogRepository.findByUser(user);
user.setBlogs(blogs);
return user;
}
**blogRepository**
public interface BlogRepository extends JpaRepository<Blog, Integer> {
List<Blog> findByUser(User user);
}
Powyszy przypadek działa pięknie w przypatku relacji @OneToMany
Ale wymarzyło mi sie ze wiele blogow bedzie nalezalo do wielu uzytkowników. Troche improwizuje.
Zmieniam entity User
@ManyToMany
@JoinTable
private List<User>users;
Zmieniam entity Blog
@ManyToMany(mappedBy = "users")
private List<Blog> blogs;
Sadze ze powinienem zmienic findByUser w blogRepository ale nie bardzo rozumiem jak to dziala.
Jak byscie mogli mi zasugerować materialy w których znajde rozwiązanie bym był wdzięczny :D