所以我有兩個類 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
提交
取消