![](/img/trans.png)
[英]Exception in thread “main” java.lang.IndexOutOfBoundsException: Index: 15, Size: 5
[英]hibernate - Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
执行此代码时,我正在获取索引超出绑定异常。 谁能帮我解决这个问题。
Session session = new Configuration().configure().buildSessionFactory().openSession();
String sql = "select name from chapter_product where name = 'sample'";
SQLQuery query = session.createSQLQuery(sql);
List results = query.list();
if(results .get(0)!=null) {
System.out.println("value:"+results.get(0));
}else {
System.out.println("no values");
}
错误可能在这里抛出:
List results = query.list();
这意味着,你的数据库中没有这样的数据,结果列表是空的,所以你不能得到它的第一个元素。
您正在尝试访问此行中的空列表第一个元素。
您需要检查空然后您需要访问对象
示例代码
if(!results.isEmpty()){
System.out.println("value:"+results.get(0));
}
else{
System.out.println("no values");
}
您遇到的问题是您试图从空列表中访问第 0 个元素。
你的支票应该是:
if (results == null || results.isEmpty()) {
System.out.println("no values");
} else {
// Do your stuff
}
if(results .get(0)!=null && !results.isEmpty()) {
System.out.println("value:"+results.get(0));
}else {
System.out.println("no values");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.