У меня есть строитель критериев, который определяется как возвращающий длинный. Если набор результатов пуст, все приложение завершается с ошибкой. Как мне обработать это, чтобы вернуть заданное число, например. 1000?Hibernate/JPA обработка пустой набор результатов
Long yesterday = new Long(0);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Long> q = cb.createQuery(Long.class);
Root<CustomerHistory> hist = q.from(CustomerHistory.class);
q.multiselect(hist.get("total"));
Date yesterDate = new LocalDate().minusDays(1).toDateTimeAtStartOfDay().toDate();
Predicate w1 = cb.equal(hist.<Date>get("date"), yesterDate);
Predicate w2 = cb.equal(hist.get("customer"), customer);
q.where(w1,w2);
yesterday = em.createQuery(q).getSingleResult();
return yesterday < tot;
Поймай свои исключения, в этом случае вам нужно поймать 'NoResultException': HTTP: // документы. oracle.com/javaee/5/api/javax/persistence/NoResultException.html – Durandal
А, это будет иметь смысл! Я узнаю один день! – ESP