Проверьте свою сущность на код java-кода ItemImages
и на какую таблицу сопоставляется эта сущность.
Если отображение правильное, и если у вас есть данные в вашей таблице, то Hibernate будет получать данные, если вы используете критерии запросов.
Вот простой пример, чтобы проверить эту функцию:
ItemImages
лицо:
@Entity
public class ItemImages {
@Id
@GeneratedValue
private int id;
private String name;
// Constructor, Setters & Getters
}
Вот пример кода для тестирования с использованием критериев запросов:
Сохранение ItemImages:
private static void saveItemImages() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
ItemImages i1 = new ItemImages("i1");
ItemImages i2 = new ItemImages("i2");
ItemImages i3 = new ItemImages("i3");
ItemImages i4 = new ItemImages("i4");
session.save(i1);
session.save(i2);
session.save(i3);
session.save(i4);
session.getTransaction().commit();
}
Получение данных с использованием критериев запроса, я передаю индекс, как 0
и max
в 2
:
public static List<ItemImages> getAllItemImages(int index, int max) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
List<ItemImages> items = session.createCriteria(ItemImages.class)
.setMaxResults(max)
.setFirstResult(index)
.list();
session.getTransaction().commit();
System.out.println("list size: " + items.size());
return items;
}
Вывод этого кода:
размер списка: 2
запроса генерируется Hibernate для этого Критерии:
select * from (select this_.id as id1_0_0_, this_.name as name2_0_0_
from ItemImages this_) where rownum <= ?
Что вы подразумеваете под «когда я изменяю запрос hql»? – WilQu
Извините, это заявление о неисправности –
Проблема может заключаться в отсутствии данных, что 'max' установлен на ноль или что' index' слишком высок. – WilQu