Reputation: 1165
i am having two table
jobs and production
production table has jobid field which refers jobid of jobs table.
In hibernate how to use not in clause
to achieve following sql query
SELECT * FROM jobs where job_id not in (select job_id from production);
Upvotes: 4
Views: 13567
Reputation: 73
I think the not exist
keyword is a good choice.
Suppose I have a table called "giraffe", with id as primary key, and another table called "engineer" with a column called "giraffe" which refers to the "giraffe" table as foreign key, then the following HQL query worked for me:
from Giraffe giraffe where not exists (from Engineer as engineer where engineer.giraffe = giraffe.id )
Upvotes: 0
Reputation: 8615
You can use HQL:
List<Job> jobs = session.createQuery(
"from Job where id not in (select jobId from Production)"
).list();
Upvotes: 1