hibernate sql ,addEntity,addScalar

sql 查询的时候,
.addEntity(Person.class)会将查询出来能放到实体中的字段数据放到实体中,并将实体放到数组的第零个位置
.addScalar("area") 这个字段查询出来的数据放到数组的第一个位置
.addScalar("email") 这个字段查询出来的数据放到数组的第er个位置

例子:
Query query = getSession().createSQLQuery(sql.toString()).addEntity(Person.class)
.addScalar("area").addScalar("email").addScalar("mobilePhone");

page = getPageListBySql(sql.toString(),page,param,query);
List<Person> list = new LinkedList<Person>();
List<Object[]> result = (List<Object[]>)page.getResult();
for(Object[] obj : result){
Person person = (Person)obj[0];//Person实体
Person.setArea((String)obj[1]);//area字符串
Person.setEmail((String)obj[2]);//email字符串
Person.setMobilePhone((String)obj[3]);//mobilePhone字符串
list.add( person );
}


你可能感兴趣的:(java,Hibernate)