Мой код выглядит следующим образом:
CriteriaBuilder cb= em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery();
Root<Transaction> transaction = cq.from(Transaction.class);
Join<Transaction, TransactionDesc> transactionType = transaction.join("transactionDesc");
cq.multiselect(transactionDesc.get("flow"), cb.sum(transaction.get("amount")));
cq.groupBy(transactionDesc.get("flow"));
TypedQuery tq = em.createQuery(cq);
Здесь, когда я пытаюсь отладить typedQuery, я получаю следующее:
select generatedAlias0.flow, sum(generatedAlias1.amount)
from Transaction as generatedAlias1 inner join generatedAlias1.transactionDesc as generatedAlias0 where 1=1 group by generatedAlias0.flow
Если вы видите выше, внутреннее соединение Вторая таблица не упоминается должным образом.
Мне нужен запрос, подобный приведенному ниже:
SELECT d2.flow, SUM(d.amount) as totalAmount FROM transaction d JOIN transaction_desc d2 on d2.id = d.transaction_desc_id