Я получаю индекс из связанной исключительной ситуации при выполнении этого кода. Может кто-нибудь помочь мне разобраться в этом вопросе.
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"); }
вы пытаетесь получить доступ к пустому списку первого элемента в этой строке.
Вам нужно проверить наличие пустых, затем вам нужно получить доступ к объектам
Пример кода
if(!results.isEmpty()){ System.out.println("value:"+results.get(0)); } else{ System.out.println("no values"); }
Ошибка, вероятно, выдается здесь:
List results = query.list();
Это означает, что в вашей базе данных нет таких данных, и результирующий список пуст, поэтому вы не можете получить его первый элемент.
if(results .get(0)!=null && !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 }