Я строю фильтр для карт в колоде и пытаюсь вернуть колоды, в которых в таблице DeckCard есть строка с двумя значениями. Кажется, что подзапрос - это способ сделать это, но у меня есть проблема, когда мой подзапрос возвращает более одной строки, что недопустимо в Postgresql.
Есть ли другой способ выразить этот запрос?
val deckQ = QDeck.deck
val predicate = BooleanBuilder()
val deckCardQ = QDeckCard.deckCard
predicate.and(
deckQ.cards.contains(
JPAExpressions.selectFrom(deckCardQ)
.where(
deckCardQ.cardName.eq("Card Name"),
deckCardQ.quantityInDeck.goe(2)
)
)
)
Я получаю ошибку:
org.postgresql.util.PSQLException: ERROR: more than one row returned by a subquery used as an expression