Как получить доступ к таблице соединений OnetoMany в JPQL? - PullRequest
0 голосов
/ 25 июля 2011

Я хочу написать сложный запрос в JPQL, где я получаю доступ к таблице соединений OneToMany Я получаю QuerySyntaxException: Pan_PanRes не отображается.

QUERY -

query = "SELECT p FROM Pan p WHERE p.id IN " +
            "(SELECT p_id FROM Pan_PanRes p_prs WHERE prs_id IN " +
            "(SELECT r.id FROM PRS r where r.pant = :pant))"+                       
            " ORDER BY pr.clD"

Я пытался реализовать эту концепцию в MYSQL. Работает нормально. Так что я знаю, что не правильно называю таблицу соединений. Как его тогда назвать?

Я хотел бы добавить оператор MYSQL, который работает нормально -

mysql> select * from pan where id not in 
(select pan_id from pan_panres where panres_id in 
(select id from panres where pant_id = 3));

Спасибо ...

1 Ответ

2 голосов
/ 26 июля 2011

Решил сам -

query = "SELECT p FROM Pan p WHERE p.id IN " +
            "(SELECT p.id FROM p.panRes prs WHERE id IN " +
            "(SELECT r.id FROM PanRes r where r.pant = :pant))"+                       
            " ORDER BY pr.clD"

Где panRes - это имя переменной oneToMany, которое я использовал в классе Pan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...