Hibernate查询查找某些entity.list.ids上是否存在id

时间:2016-07-08 00:57:51

标签: java mysql hibernate jpa hql

我有这样的情况试图查询一些ID,如果它们存在于某个实体列表ex:

@Entity
class Person{
  @ManyToMany(fetch = FetchType.EAGER)
  List<Job> jobList;
}

@Entity 
class Job{
  @Id
  long id;
  //otherfields...
}

查询尝试:

From Person p where :selectedJobIds exists in :(p.jobList.id)

所以我试图找出Job

中每个selectedJobIds个人的工作是否有ID

是否可以在Hibernate上使用或者我被迫使用子查询尝试使用elements但没有运气

1 个答案:

答案 0 :(得分:0)

您也可以使用Criteria API在休眠中执行此操作。使用Criteria对象的add()方法为条件查询添加限制。

例如:

Criteria cr= session.createCriteria(Job.class);
cr.add(Restrictions.eq("id",2);
List results= cr.list();