查询ManyToMany SpringBoot

时间:2018-05-18 18:42:31

标签: spring hibernate spring-boot jpa many-to-many

我有以下建模:

table hackathon
idEvent int pk ai
...


table team
idTeam int pk ai
...

table hackathon_has_team
hackathon_id int
team_id int
....

我需要按事件ID选择参加活动的所有团队,并且我突然想到它,有人可以帮忙吗?

我试图这样做,但它不起作用:

@Query("SELECT t " 
    + "FROM Team t INNER JOIN hackathon_has_team " 
    + "ON hackathon_has_team.team_id = t.id " 
    + "WHERE hackathon_has_team.hackathon_id = :hackathon_id")
public Page<Team> getListAllTeamsByIdOfHackathon(@Param("hackathon_id ") Long id, Pageable pageable);

1 个答案:

答案 0 :(得分:0)

您可能需要提供更多信息才能获得更多信息,但根据您获取团队列表的方式,您可以尝试:

select * from event_has_team
where (select team_id from table team) 

这将从team_id在team表中的event_has_team表中选择所有内容。您还可以为您在该子选择中确定的团队添加where子句,或者根据您的实际需要为其选择。