2015-11-01 1 views
1

У меня есть ниже фрагмент кода, чтобы получить количество записей, однако, когда я исполняю я получаю следующееJPA - Там нет никаких атрибутов для ReportQuery

Exception [EclipseLink-6088] (Затмения Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.QueryException Исключение Описание: для ReportQuery нет атрибутов. запросов: ReportQuery (referenceClass = Служащие)

private Integer countEmployees(EmployeesList<Employees> emp) { 

     CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder(); 
     CriteriaQuery<Long> countQ = criteriaBuilder.createQuery(Long.class); 

     Root<Employees> empCount = countQ.from(Employees.class); 
     Join<Employees, Department> joinDept = 
      empCount.join(Employees_.deptId, JoinType.LEFT); 

     List<Predicate> empListCount = new ArrayList<Predicate>(); 
     Predicate empNameCount,empOrgCount; 

     ...... 
     countQ.where(predicatesCount); 
     ...... 

    } 

ответ

1

Вы не указали, где положение 'если' есть EmpName, но ничего другого. Вам нужно что-то выбрать. Поскольку вы, кажется, хотите сосчитать сотрудников, вам нужно добавить часть запроса «select count (employee)»:

countQ.select(criteriaBuilder.count(empCount)); 
+0

Да, вы правы. Спасибо за понимание. – user75ponic

+0

Узнайте, что Исключения пытаются рассказать, делает кривую обучения экспоненциальной – FiruzzZ

 Смежные вопросы

  • Нет связанных вопросов^_^