如何编写具有计数的sq的等价标准

时间:2015-11-29 12:49:33

标签: java hibernate criteria hibernate-criteria

我想问一下如何创建hibernate标准来获得拥有多个项目的员工。我有以下实体

class Project{
    public String title;
    public Employee owner;    
}

class Employee{
    public String name;
    public Set<Project> projects;
}

我认为我需要在子查询中使用查询,子查询应该如下所示:

DetachedCriteria sub = DetachedCriteria.forClass(Project.class)
  .createAlias("employee","e")
  .setProjection(Projections.projectionList()
    .add(Projections.count("owner"))
    .add(Projections.groupProperty("e.name"))
  );

(它返回具有所有者名称和项目编号的对象列表),但我不知道如何将其与主要条件查询一起使用,以比较项目编号是否大于1。

这个hql返回我想用条件获得的相同结果:

from Project project inner join project.owner owner group by owner.name having count(project.owner) > 1

0 个答案:

没有答案