#java #hibernate
#java #режим гибернации
Вопрос:
Я пробовал использовать
ввод: 100 и 150
criteria.add(Restrictions.between("price", from, to)));
но результат не находится между 100 — 150.
просто получаем 150.
Я хочу, чтобы он должен был извлекать 100, 101, 102, 103, 104, …… 150.
Итак, как получить все записи?
Если две записи имеют одинаковую цену, учитывайте 102, тогда я хочу получить их обе.
BLManager.java
public List<Newitems> byPrice(Double from, Double to) {
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Newitems.class);
criteria.add(Restrictions.between("price", BigDecimal.valueOf(from), BigDecimal.valueOf(to)));
List<Newitems> newitems = criteria.list();
session.close();
return newitems;
клиентский код:
public static void main(String[] args) {
BLManager manager = new BLManager();
double from = 100;
double to = 150;
List<Newitems> newitems = manager.byPrice(from, to);
Newitems nitems = newitems.iterator().next();
System.out.println("Price of: " nitems.getName() " is " nitems.getPrice());
}
Комментарии:
1. Возможно, вы получаете весь список, но вы печатаете только один элемент в основном!! Вам нужно просмотреть список NewItems и распечатать все элементы. Кстати, каков размер возвращаемых новых элементов?
2. Да, вы правы. Большое вам спасибо.