HQL查询对象部分字段

HQL查询,如果是个别字段(对象的几个属性)为查询结果,则create("select id,name from user").list()查询的结果,是List<Object[]>,至查询一个字段,返回结果可以是List<Object>;

获取查询结果,for循环list;使用object[x]获取到第x+1个字段内容

List<Object> idlist = this.getSession().createQuery("select max(clockTime) from HistoryDoub where clockTime >'"+endTime+"' and clockTime <'"+startTime+"'"+" group by resource.resourceId,collectItem.itemId").list();
StringBuffer data = new StringBuffer();
if(idlist!=null){
	for(int i = 0;i<idlist.size();i++){
	    Object hd = idlist.get(i);
	    if(i<idlist.size()-1)
		data.append("'"+hd.toString()+"',");
	    else
		data.append("'"+hd.toString()+"'");
	}
			
}


网上有,如果查询的字段不是外键,可以使用查询的字段在表对应的对象中,添加这几个字段的构造函数,查询出来的结果,可以直接转换成表对应的对象(没有使用,标注备用!)。

你可能感兴趣的:(HQL查询)