我有简单的用户项目模型。假设我需要选择所有例如最少5个用户的项目。 在SQL它会是这样的(我还没有尝试过,可能是错误的地方):使用休眠条件计算where条款
select * from PROJECTS p where count(select * from USERS u left join PROJECT_MEMBERS m on u.object_id=m.user_id where m.project_id=p.object_id)>5;
在项目模型,我有:
private Set<UserModel> users = new HashSet<UserModel>();
及其映射这样的:
<set name="users"
cascade="none"
table="PROJECT_MEMBERS">
<key column="project_id" />
<many-to-many
column="user_id"
class="UserModelImpl"/>
</set>
目前吾道看起来像这样:
Criteria hbCriteria = session.createCriteria(ProjectModelImpl.class);
hbCriteria.add(Restrictions.ilike("name", criteria.getProjectName(), MatchMode.ANYWHERE));
return hbCriteria.list();
如何添加创建标准,只选择那些具有criteria.getMinUsers()
用户的项目?
让我知道如果你需要任何代码或映射
+1。比我的好。 –
这么简单......非常感谢:) –