Hibernate里使用纯sql语句查询,将结果集映射到实体的方法

StringBuffer sb = new StringBuffer();
sb.append("select * from STUDY_REGISTER sr where 1=1 and sr.glbm='"+glbm+"' ");
if(staDto!=null)
	sb = this.condition(staDto, sb);

Query q = this.getSession().createSQLQuery(sb.toString()).setResultTransformer(Transformers.aliasToBean(StudyRegisterDto.class));
q.setFirstResult(firstNum);
q.setMaxResults(pageSize);
List<StudyRegisterDto> list = q.list();
return list;

注:
    StudyRegisterDto.java为实体类,其所有的set方法需要大写,如setNAME(String name);
    数据库中为number的字段,在实体类中应该对应为BigDecimal类型
    实体类中需要提供一个public void setROWNUM_(BigDecimal rownum_);方法


你可能感兴趣的:(Hibernate里使用纯sql语句查询,将结果集映射到实体的方法)