В спящем режиме, как использовать не в пункте - PullRequest
4 голосов
/ 17 апреля 2011

у меня две таблицы

заданий и производства

В производственной таблице есть поле jobid, которое ссылается на jobid таблицы заданий.

В hibernate как использовать, не в условии

для выполнения следующего SQL-запроса

SELECT * FROM заданий, в которых job_id отсутствует (выберите job_id из производства);

Ответы [ 2 ]

1 голос
/ 18 апреля 2011

Вы можете использовать HQL:

List<Job> jobs = session.createQuery(
        "from Job where id not in (select jobId from Production)"
    ).list();
0 голосов
/ 12 декабря 2017

Я думаю, что ключевое слово not exist - хороший выбор.

Предположим, у меня есть таблица с именем "giraffe", с id в качестве первичного ключа, и еще одна таблица с именем "Engineer" со столбцом под названием "giraffe", который ссылается на таблицу "giraffe" как внешний ключ, а затем следующий запрос HQL у меня сработало:

from Giraffe giraffe where not exists (from Engineer as engineer where engineer.giraffe = giraffe.id )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...