Long을 리턴하는 것으로 정의 된 기준 빌더가 있습니다. 결과 집합이 비어 있으면 전체 응용 프로그램이 실패합니다. 설정된 번호를 반환하려면 어떻게해야합니까? 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;
이 예외를 캐치 논리를 계속 고려합니다. oracle.com/javaee/5/api/javax/persistence/NoResultException.html – Durandal
아, 말이 될 것입니다! 나는 언젠가 배울 것이다! – ESP