Я пытаюсь создать простой запрос с синтаксисом внутреннего соединения в QueryDSL, но он продолжает сбой со следующей ошибкой:
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Path expected for join! [select distinct card
from com.db.entities.Transaction transaction
inner join Card card with transaction.card.id = card.id]
Я использую следующий запрос:
private List<Card> getAllCardsInvolvedInTransactionsQuery(JPAQuery q) {
return q
.from(transaction)
.innerJoin(card)
.on(transaction.card.id.eq(card.id))
.distinct()
.list(card);
// return entityManager.createNamedQuery(
// "SELECT DISTINCT Card FROM Transaction AS t INNER JOIN Card AS c ON t.card.id=c.id",
// Card.class).getResultList();
}
Закомментированный код - это то, чего я пытаюсь достичь с помощью QueryDSL.Как мне это сделать?