Запрос ManyToMany SpringBoot - PullRequest
0 голосов
/ 18 мая 2018

У меня есть следующее моделирование:

table hackathon
idEvent int pk ai
...


table team
idTeam int pk ai
...

table hackathon_has_team
hackathon_id int
team_id int
....

И мне нужно выбрать все команды, участвующие в событии, по идентификатору события, и я ломаю себе голову, может кто-нибудь помочь?

Я пытаюсь сделать это, но это не работает:

@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 голосов
/ 18 мая 2018

Вам может потребоваться предоставить больше, чтобы получить больше, но в зависимости от того, как вы получаете список команд, вы можете попробовать:

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

Это выбирает все из таблицы event_has_team, где team_idв таблице команды.Вы также можете добавить предложение where для команд, которые вы определили в этом суб-выборе, или в любом другом, в зависимости от того, что вам действительно нужно.

...