Это запрос, который мне нужен,
SELECT
t0.traderDeclarationNumber AS a1, t0.referenceNumber AS a2,(SELECT COUNT(t1.userid)
FROM
log_table t1
WHERE
(t1.userid = 'user')) FROM status_table t0
Я написал запрос критерия,
final CriteriaQuery<Object[]> criteriaQuery = criteriaBuilder.createQuery(Object[].class);
final Root<StatusTable> statusRoot = criteriaQuery.from(StatusTable.class);
Subquery<Long> subQuery = criteriaQuery.subquery(Long.class);
final Root<LogTable> logRoot = subQuery.from(LogTable.class);
subQuery.select(criteriaBuilder.count(logRoot.get("userid")));
subQuery.where(criteriaBuilder.equal(logRoot.get("userid"), "user"));
criteriaQuery.multiselect(
statusRoot.get("traderDeclarationNumber"),
statusRoot.get("referenceNumber"),
subQuery.getSelection());
final TypedQuery<Object[]> typedQuery = entityManager.createQuery(criteriaQuery);
List<Object[]> objectsList=typedQuery.getResultList();
Но во время выполнения кода предложение where не применяется в запросе. Сгенерированный запрос
SELECT t0.traderDeclarationNumber AS a1, t0.referenceNumber AS
a2, (ВЫБЕРИТЕ COUNT (t1.userid) ОТ log_table t1) ОТ status_table t0
Только количество (идентификатор пользователя) в запросе. Пожалуйста, помогите мне найти решение.
Заранее спасибо