QueryDSL子查询返回多行

时间:2019-01-07 04:21:57

标签: java postgresql kotlin querydsl

我正在为卡片组中的卡片构建过滤器,并尝试返回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

0 个答案:

没有答案