有一个表table_user,有列id,user_name,user_password
对于的bean TableUser有id,userName,userPassword属性我想做一个查询只查所有的userName,并且返回一个List<TableUser>
每一行为
id = null
userName = "somgthing here"
userPassword = null或者就返回一个List<Map>
每一行数据为
"userName"="something here"
应该怎么做?hql或者native sql都可以我试了半天了,不是报错就是出来的结果不是key=》value的形式,只是
0 : 'something here'
对于的bean TableUser有id,userName,userPassword属性我想做一个查询只查所有的userName,并且返回一个List<TableUser>
每一行为
id = null
userName = "somgthing here"
userPassword = null或者就返回一个List<Map>
每一行数据为
"userName"="something here"
应该怎么做?hql或者native sql都可以我试了半天了,不是报错就是出来的结果不是key=》value的形式,只是
0 : 'something here'
解决方案 »
- Hibernate+proxool 加载关联对象出现空链接不能释放
- spring2.5的AOP求解?
- 100分求解:使用MyEclipse的Xfire自动生成的客户端,怎么设置SOAPHeader啊?
- LookupDispatchAction问题
- utf-8 是三个byte的长度吗?
- 在线等:关于cas单点,非拦截系统A如何获取已登录系统B的UserPrincipal?
- jbuilderx tomcat5 运行一下TOMCAT5没有启动起来,很短时间就终止了。
- j2ee的前辈们,帮我解释一下这几个概念行吗?
- 在JB8中调试JSP+JavaBean+session Bean的问题
- 请帮忙
- 为什么现在开发网站不用JSP开发?(用最多的是ASP和PHP)
- struct2中的%和$分别代表什么意思?
如果你查的是UserTable对象,id肯定是会出来的.
你可以只查select TableUser.userName,返回一个List<String>.再手动new个新的对象把username填进去.
如果返回结果有1000条,要做个循环每个都new出来?
而且如果我要取的不是1个字段,是10个字段,也得这么一个个的自己填进去?
循环遍历的时候直接用该类型的变量接收就行啊....
是的,而且问题是比如我查询用户列表,我不希望取到密码的
或者我查的是一个带image或者blob类型字段的,也不希望将这些字段select出来的如果没有好办法,那我就自己一个个的new然后赋值去了,呵呵
createQuery().addEntity(User.class)好像要加上这个才可以
List<TableUser> list = session.createQuery(hql).list();
这样写好像还是很麻烦因为我同时还想实现动态的select某些字段所以 new User的时候,这个User是不确定的
List<TableUser> list = session.createQuery(hql).list();
ProjectionList projectionList = Projections.projectionList();
if(true){
projectionList.add(Projections.property("name").as("name"));
}
c.setProjection(projectionList)
.setResultTransformer(new AliasToBeanResultTransformer(TestItem.class));
然后在User 使用查询列id,username做一个构造函数,不过仅限于hibernate3以上版本