Hibernate:对包含一些对象的对象集合的请求

时间:2016-12-22 07:15:54

标签: java hibernate

我有一个对象Worker,其中包含一组对象Job:

public class Worker {

    private int id;
    private String mail;
    private Set<Job> job;
}

public class Job {

    private int id;
    private String name;
}

我想请求工作人员获得某个邮件,并在他的收藏中包含某些工作(通过他们的ID)。我怎么能这样做?

public List<Worker> getListWorker (String mail, List<Integer> listJobId){
     //Some hibernate magic here
}

我已经尝试了很多东西,但没有实际工作(添加多个工作限制,使用别名,使用detachedCriteria ......)。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个有效的解决方案。我发布以防其他人:

String query = "from Worker where email = '"+email+"' ";

for(Job job : worker.getJob()){
    query+="and '"+job.getId()+"' member of job "; //job -> Set<job>
}  

entityManager.createQuery(query, Worker.class).getResultList();
相关问题