查询一个表中的部分字段,查完后要封装成JAVA对象,怎么弄???比如Student.javaString queryString = "select stu.name,stu.no from Student stu";
Query q = this.getSession().createSQLQuery(queryString).addEntity("stu", Student.class);
q.list();出错,"column XXX not found",应该是在封装的时候出错,因为类的属性没有全部查出来又改成String queryString = "select stu.name,stu.no from Student stu";
Query q = this.getSession().createSQLQuery(queryString);
q.list();
出错:强制转换出错。查询返回的是Object,不能强制转换成Student这种情况下,该怎么查啊???
Query q = this.getSession().createSQLQuery(queryString).addEntity("stu", Student.class);
q.list();出错,"column XXX not found",应该是在封装的时候出错,因为类的属性没有全部查出来又改成String queryString = "select stu.name,stu.no from Student stu";
Query q = this.getSession().createSQLQuery(queryString);
q.list();
出错:强制转换出错。查询返回的是Object,不能强制转换成Student这种情况下,该怎么查啊???
解决方案 »
- cookie访问次数问题
- J2EE的无线服务翻译文献
- ejb3.0在JBoss中部署的问题
- 断点没有执行
- jsp无法导入struts标签库
- 在LINUX下配置Tomcat的问题。
- 为什么filter拿不到request中的数据
- 假如同时调用两个有状态session bean,这两个bean之间怎样能通信?
- 大菜鸟在线请教:一个在JBOSS下实现一个JMS实例的全部过程,高手们顺便温习一下:)
- 帮忙,救命啊--struts+hibernate在tomcat下开发OK,移植到websphare下就有了问题
- hibernate中怎么进行多表关联查询呢(本人初学,请大家多多指教)
- 求助,谁帮找出问题出在哪儿?
String queryString = "select stu.name,stu.no from Student stu";
Query q = this.getSession().createSQLQuery(queryString);
q.list();
查出来object数组以后,循环封装一下,直接强制转换是不行的
不知道楼主做什么用,是不是可以想下把它封装成MAPselect new Map(a.name as name,a.age as age) from Student s
public List<T> listByPage(String queryStr, int offest, int limit) {
Query query = this.getSession().createQuery(queryStr);
query.setFirstResult(offest);
query.setMaxResults(limit);
List<T> list = query.list();
return list;
}
分页的我都写过
// String queryString="select userinfo.userid,userinfo.username from UserInfo userinfo";
String queryString="from UserInfo";
Query query=session.createQuery(queryString);
List<UserInfo> list=query.list();
Iterator<UserInfo> iterator=list.iterator();
while (iterator.hasNext()) {
UserInfo userInfo = (UserInfo) iterator.next();
System.out.println(userInfo.getUsername());
}
UserInfo.xml和UserInfo.java都是重新定义的,去掉了password属性
比如User类在com.bean目录下。String sql = "select new com.bean.User(name,address) from User ";
Query query = session.createQuery(sql);
.........注意要有这个构造器 User(name,address)
我的解决办法是
public List<Object[]> findOther(){
List<Object[]> list=session.createQuery("select s.name,s.password from Stu s").list();
return list;
}
然后就直接调用这个list,这个list[0]就是name,list[1]就是password