首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

运用org.hibernate.Query查询堆栈溢出,但是使用org.hibernate.Criteria查询却正常

2013-09-11 
使用org.hibernate.Query查询堆栈溢出,但是使用org.hibernate.Criteria查询却正常使用org.hibernate.Query

使用org.hibernate.Query查询堆栈溢出,但是使用org.hibernate.Criteria查询却正常
使用org.hibernate.Query查询堆栈溢出,但是使用org.hibernate.Criteria查询却正常
查询如下:
public List queryStudentByClass(String classNum) {
Criteria criteria = getSession().createCriteria(Student.class);
return criteria.list();
}
public List queryStudentByClass(String classNum) {
StringBuffer hql = new StringBuffer();
hql.append(" from ");
hql.append(Student.class.getName());
Query query = this.getSession().createQuery(hql.toString());
return query.list();
}
如果使用第一个方法查询可以查到结果
但是使用第二个方法查询就会
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception


root cause

java.lang.StackOverflowError
javax.servlet.ServletException.getRootCause(ServletException.java:96)
org.springframework.web.util.NestedServletException.getCause(NestedServletException.java:69)
javax.servlet.ServletException.getRootCause(ServletException.java:96)
org.springframework.web.util.NestedServletException.getCause(NestedServletException.java:69)hql.append(Student.class.getName());

直接写成 from Student不成吗?hql.append(Student.class.getName());

直接写成 from Student不成吗?

我猜搂主写成Student.class.getName()是避免类或者类所在的包有重命名的情况吧? 写成Student.class.getName(),在使用eclipse的重命名时eclipse可以自动修改。
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行