我在Hibernate中使用Criteria API根据技能,域名,名称等各种参数搜索候选人。我正在使用以下代码来获取搜索结果:
Criteria criteria = this.getSession().createCriteria(Candidate.class, "p");
Criteria skillCriteria = criteria.createCriteria("skills", "s");
skillCriteria.add(Restrictions.in("s.id", skillIds));
//and many more criteria added in the similar way.
我想根据相关性得出结果。例如,如果候选人匹配最大数量的参数,则应将他放在第一位,依此类推。在Hibernate中实现这一目标的最佳方法是什么?