Java:Hibernate标准API按空值排序

Java:Hibernate标准API按空值排序,java,mysql,hibernate,hibernate-criteria,Java,Mysql,Hibernate,Hibernate Criteria,我正在使用Hibernate Criteria API在Employee表上获取搜索结果。我正在创建与员工相关的搜索字段的左连接 Criteria criteria = session.createCriteria(Employee.class).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.createAlias("locations", "loc", Criteria.LEFT_JOIN); criteria.c

我正在使用Hibernate Criteria API在Employee表上获取搜索结果。我正在创建与员工相关的搜索字段的左连接

Criteria criteria = session.createCriteria(Employee.class).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

criteria.createAlias("locations", "loc", Criteria.LEFT_JOIN);
criteria.createAlias("designations", "desig", Criteria.LEFT_JOIN);
criteria.createAlias("project", "ps", Criteria.LEFT_JOIN);

Junction disjunction = Restrictions.disjunction();
disjunction.add(Restrictions.like("loc.locationName", "%" + loc + "%"));
disjunction.add(Restrictions.like("desig.designation", "%" + fa + "%"));
disjunction.add(Restrictions.like("ps.project", "%" + fa + "%"));

criteria.add(disjunction);
从上面的代码中,我确实得到了列表,但是一些员工可能有两个字段为空。我想为顶部有最多非空字段的员工创建一个列表。这是正确的方法吗

我上一次在hibernate中看到关于空值的问题: 这个问题讨论了在提出这个问题时未修复的bug。但现在他们已经修好了。但是我找不到任何实现代码。感谢您的帮助。 谢谢