Соединение построителя критериев не дает правильный запрос - PullRequest
0 голосов
/ 24 февраля 2020

Мой код выглядит следующим образом:

    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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...