hibernate查询return造成数组越界
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
我做了一个保存功能根据标题查询数据库是否有相同标题,有则更新没有则生成新纪录,但是若没有的话,查询就会造成空的list,报错
代码如下
public Plans findByPlanName(String planName) {
return (Plans)this.getSession().createQuery("from Plans where title=?").setParameter(0, planName).list().get(0) ;
}
public Plans findByPlanName(String planName) {
List<Plans> plansList = (List<Plans>) this.getSession().createQuery("from Plans where title=?").setParameter(0, planName).list();
if (plansList.isEmpty())
return null;
return plansList.get(0) ;
}
Object obj = this.getSession().createQuery("from Plans where title=?").setParameter(0, planName).uniqueResult();
if(obj!=null){
return (Plans)obj;
}else{
//如果查询为记录,则做一些处理等等
return null;
}
//这样也可以,但是return前还是最好判断一下
Plans plans = (Plans)this.getSession().createQuery("from Plans where title=?").setParameter(0, planName).uniqueResult();
return plans;