日期:2014-05-18  浏览次数:20746 次

为什么执行到getHibernateTemplate().find(hql),执行就停住了,不会往下执行,也没异常出来?
用SQLQuery查询就没问题,如果是用下面这句就可以查询出数据
  List sqlList = this.getSession().createSQLQuery("select * from test").list();

  //下面这2句直接就不动了,没异常,也没错误出来。
  同一个方法里面的getHibernateTemplate().save(T) 可以用, 就是查询不行
 
 String hql =" from Test";
  try{
list = (List) this.getHibernateTemplate().find(hql);
list = this.getSession().createQuery(hql).list();
  }catch(Exception e){
System.out.println("error"+e.getMessage());
e.printStackTrace();
  }

System.out.println("run end...............");// 下面这句永远执行不到。


为什么有这么奇怪的事情,难道查询还有特别配置???

------解决方案--------------------
你这个Test类是不对应test表,不知道有没有搞错哟。
------解决方案--------------------
是不是有断点?debug下,看运行到哪一步
------解决方案--------------------
这个应该不会,,你换别的地方试试。。
debug看看具体哪里有问题。
------解决方案--------------------
list = this.getSession().createQuery(hql).list();

在上面的代码那里打断,看看是否能运行到断点。
------解决方案--------------------
引用:
Quote: 引用:

list = this.getSession().createQuery(hql).list();

在上面的代码那里打断,看看是否能运行到断点。


能运行到,然后 没有然后了
没异常,后面的语句也不会执行


把hql语句贴出来,会不会是你把SQL语句当初HQL语句了。
------解决方案--------------------
有没有日志文件啊.. 把日志拿出来,一切问题都会明了..
------解决方案--------------------
list = (List) this.getHibernateTemplate().find(hql);
list = this.getSession().createQuery(hql).list();

spring 3吧?

这个有问题的,SESSION要手工关闭哦。

list = (List) getHibernateTemplate().find(hql);

用这个
------解决方案--------------------
那就说明了一个问题,压根没有进入到这个方法里来。