我想问一下如何创建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