[英]Hibernate - Distinct Query returning two columns result
有时我问过有关如何使用Hibernate进行Distinct查询的问题。 现在,我已经超越了那个里程碑,我还需要另一件事。 就是说,给定桌子,
---------------------------------------
| user_id | user_name | user_type |
---------------------------------------
| 1 | mark taylor | admin |
| 2 | bill paxton |co-ordinator|
| 1 | tony brooks | admin |
| 3 | ali jahan | developer |
---------------------------------------
我想创建一个不同的查询,该查询返回不同的user_type及其对应的user_id。 请注意,特定user_type的user_id是相同的 。 例如
admin = 1
co-ordinator = 2
developer = 3
所以我期望的回报有点像ArrayList或包含两个值的排序
user_id,user_type
我编写的用于获取Distinct UserType的代码如下,我希望可以对其进行一些修改以获得所需的结果。
public List<String> findDistinctUserName() throws HibernateException {
List<String> returnVal = new ArrayList<String>();
Criteria c = this.createCriteria();
c.setProjection(Projections.distinct(Projections.property("userType")));
c.addOrder(Order.asc("userType"));
List<String> userTypeList = c.list();
for(String userType : userTypeList) {
if(!userType.equalsIgnoreCase("")) {
returnVal.add(userType);
}
}
return returnVal;
}
预先感谢您的回答。
尝试这个:
条件.setProjection(Projections.distinct(Projections.property(“ userType”)),“ userType”));
另外,您不必检查空白字符串,请尝试以下操作:
criteria.add(Restrictions.ne( “用户类型”, “”));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.