当前位置: 代码迷 >> Java Web开发 >> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0解决思路
  详细解决方案

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0解决思路

热度:1033   发布时间:2016-04-16 21:52:47.0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
具体代码如下
public Comhr findcomhr(Company company)
{
Comhr comhr=  (Comhr) getDao().getHibernatetemplate().find("from Comhr as c where c.company.comId="+company.getComId()).get(0);
return comhr;

}
这边的company 对象是session中的对象
在Comhr表中有一个com_id的外键


之前在其他的地方测试的时候是可以的不知道为何会突然出现这样。这个问题是因为hr没有关联的company信息导致的?就是说com_id找不到hr的数据吗?
------解决思路----------------------
打断点看一下
 (Comhr) getDao().getHibernatetemplate().find("from Comhr as c where c.company.comId="+company.getComId()) 结果是否为null,先判空,再获取第一个元素
------解决思路----------------------
那说明楼主的查询根本就没有查询到信息,是个空结果集
把给定的条件拿出来,放到数据库执行下,看能查询到结果不

楼主的代码格式,有点不利于阅读

public Comhr findcomhr(Company company) {
     Comhr comhr= null;
     List<Comhr > list =  getDao().getHibernatetemplate().find("from Comhr as c where c.company.comId="+company.getComId())
    if (null != list && list.size() > 0 ) {
        comhr = list.get(0);
    }
     return comhr;
}
  相关解决方案