一对多关系的 JPA IN 子句
JPA IN clause for one to many relationship
我有以下 jpa 实体:
Music_playlist[
Integer music_id;
Integer playlist_id;
List<Genre> genres;
]
Genre[
Integer genre_id;
]
我想知道我是否可以进行命名查询来检索 music_playlist 实体,这些实体的流派属性包含具有 [=16 的流派对象=]genre_id 等于命名参数。像这样:
SELECT mp FROM music_playlist WHERE :genreId in mp.genres.genre_id
你可以使用任何一个
FROM MusicPlaylist mp WHERE 'Rock' = ANY (SELECT g.genreId FROM mp.genres g)
另一种解决方案可能是:
SELECT mp FROM music_playlist mp JOIN mp.genres g WHERE :genreId = g.genreId
我有以下 jpa 实体:
Music_playlist[
Integer music_id;
Integer playlist_id;
List<Genre> genres;
]
Genre[
Integer genre_id;
]
我想知道我是否可以进行命名查询来检索 music_playlist 实体,这些实体的流派属性包含具有 [=16 的流派对象=]genre_id 等于命名参数。像这样:
SELECT mp FROM music_playlist WHERE :genreId in mp.genres.genre_id
你可以使用任何一个
FROM MusicPlaylist mp WHERE 'Rock' = ANY (SELECT g.genreId FROM mp.genres g)
另一种解决方案可能是:
SELECT mp FROM music_playlist mp JOIN mp.genres g WHERE :genreId = g.genreId