Hibernate查询表,怎么只能查询表的所有的字段!

markhai_85 2013-06-05
使用DetachedCriteria查询,只能查询所有字段。
如果使用projection,查询特定字段,得到的是Object数组。

如果采用HQL,POJO中建构造方法,可以实现。
但是无法采用DetachedCriteria查询了。
不建构造方法,采用如:select id,name from ...  得到也是Object数组。

不知各位有什么解决办法?

我使用Hibernate4.1.10
markhai_85 2013-06-05
有人不?   
hss118100 2013-06-05
可以试试query.setResultTransformer(Transformers.aliasToBean(XXX.class));的方式,不过hql需要写字段as 别名。例如 select id as id , name as name from ...,这样应该就可以返回对象了
markhai_85 2013-06-05
谢谢,兄台
dc = DetachedCriteria.forClass(UserInfo.class);
dc.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.property("loginName"), "loginName")));
dc.addOrder(Order.desc("id"));
dc.setResultTransformer(Transformers.aliasToBean(UserInfo.class));
这种方式是可以的

HQL还是得用new UserInfo(...)
上官车月 2013-06-05
markhai_85 写道
谢谢,兄台
dc = DetachedCriteria.forClass(UserInfo.class);
dc.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.property("loginName"), "loginName")));
dc.addOrder(Order.desc("id"));
dc.setResultTransformer(Transformers.aliasToBean(UserInfo.class));
这种方式是可以的

HQL还是得用new UserInfo(...)




UserInfo和部分字段相对应的pojo?
kingsfighter 2013-06-19
同学习,看看
Global site tag (gtag.js) - Google Analytics