为了账号安全,请及时绑定邮箱和手机立即绑定

一对多关系时使用spring repository获取数据

一对多关系时使用spring repository获取数据

饮歌长啸 2022-12-15 11:26:02
所以我有两个类 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);


查看完整回答
反对 回复 2022-12-15
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信