spring+hibernate中的Result object returned from HibernateCallback isn't a List

来源:互联网 发布:sql语句按降序排列 编辑:程序博客网 时间:2024/04/30 11:02

 Ok the problem is that for executeFind() the return type is List....so there is no way to use uniqueResult() within the callback from executeFind()...may be we should use execute()

上面这段话来自http://forum.springframework.org/showthread.php?t=58370

 

在使用executeFind方法时,如果返回的不是List类型的数据则会出现引异常

例:
 public Integer findCount(final Class clazz,final String str) {
  return Integer.parseInt(getHibernateTemplate().executeFind(new HibernateCallback()
  {

   @Override
   public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
    StringBuilder sb=new StringBuilder();
    sb.append("select count(*) from ");
    sb.append(clazz.getName());
    sb.append(" ");
    sb.append(str);
    log.info(sb.toString());
    return session.createQuery(sb.toString()).uniqueResult();
   }
   
  }).toString());
 }

解决方法是把executeFind方法改为execute方法

 public Integer findCount(final Class clazz,final String str) {
  return Integer.parseInt(getHibernateTemplate().execute(new HibernateCallback()
  {

   @Override
   public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
    StringBuilder sb=new StringBuilder();
    sb.append("select count(*) from ");
    sb.append(clazz.getName());
    sb.append(" ");
    sb.append(str);
    log.info(sb.toString());
    return session.createQuery(sb.toString()).uniqueResult();
   }
   
  }).toString());
 }

有问题?直接google!<script type="text/javascript"><!-- google_ad_client = "pub-0757178726455256"; google_ad_format = "js_sdo"; google_cts_mode ="rs"; google_num_cts = "2"; google_searchbox_width = 215; google_searchbox_height = 26; google_link_target = 2; google_logo_pos = "left"; google_rs_pos = "right"; google_ad_height = 35; google_ad_width = 760;// --></script><script src="http://pagead2.googlesyndication.com/pagead/show_sdo.js" type="text/javascript"></script>

<script type="text/javascript"><!--google_ad_client = "pub-0757178726455256";/* 728x90, 创建于 09-6-17 */google_ad_slot = "1633515232";google_ad_width = 728;google_ad_height = 90;// --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

原创粉丝点击