当用hibernate查数据时,对象类型不对应,可以使用query.setResultTransformer(Transformers.aliasToBean(Goods.class));
这样就可以解决查出来的数据不能使用的问题.
可以理解为使用setResultTransformer的场景是:只有个别几个字段需要映射到实体类上(非全部字段一一对应)
下面写了个例子供大家参考:
注意:Goods和TmpGoods是两张不同的表
/*Goods和TmpGoods是两张不同的表*/
public List<Goods> query(){
String sql = "select name,total from TmpGoods";
Session session = (Session) em.getDelegate();
Query query = session.createSQLQuery(sql);
query.setResultTransformer(Transformers.aliasToBean(Goods.class));
List<Goods> list=query.list();
return list;
}