我有以下jpa实体:
Music_playlist[
Integer music_id;
Integer playlist_id;
List<Genre> genres;
]
Genre[
Integer genre_id;
]
我想知道我是否可以创建一个命名查询来检索 music_playlist 实体,这些实体的类型属性包含一个类型对象,其中 genre_id 等于命名PARAM。像这样:
SELECT mp FROM music_playlist WHERE :genreId in mp.genres.genre_id
答案 0 :(得分:2)
另一种解决方案可能是:
SELECT mp FROM music_playlist mp JOIN mp.genres g WHERE :genreId = g.genreId
答案 1 :(得分:1)
您可以使用任何
FROM MusicPlaylist mp WHERE 'Rock' = ANY (SELECT g.genreId FROM mp.genres g)