所以我有两个类 Movie 和 Genres 是一对多的关系。我想要做的是使用 Spring 存储库获取按流派名称过滤的电影列表。我希望能够做类似的事情:List<Movie> movies = movieRepository.getMoviesByGenres(Arrays.asList("Drama", "Comedy"))我想像下面那样做,但这不是工作,有没有选择使用 spring 存储库来做到这一点?@Entitypublic class Movie { @Id @Column(name = "movie_id") private long id; private String title; @OneToMany(mappedBy = "movie") private Set<Genres> genres; ...} -@Entitypublic class Genres { @Id private long id; @ManyToOne @JoinColumn(name = "movie_id", nullable = false) private Movie movie; private String name; ...}-public interface MovieRepository extends JpaRepository<Movie, Long>{ List<Movie> getMoviesByGenres(String name);}
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
您需要创建如下所示的方法:
public interface MovieRepository extends JpaRepository<Movie, Long>{
List<Movie> getMoviesByGenresNameIn(List<String> names);
}
如果你想获取geners与一个查询的关系,你需要EntityGraph像下面这样装饰方法:
@EntityGraph(attributePaths={"geners"})
List<Movie> getMoviesByGenresNameIn(List<String> names);
添加回答
举报
0/150
提交
取消