Java QueryDSL-参与联接的总和

Java QueryDSL-参与联接的总和,java,querydsl,Java,Querydsl,鉴于以下类别: class User { @OneToMany Set<Transaction> transactions } class Transaction { BigDecimal money; } 作为奖励——如果将货币持久化为Joda货币类型,而不是BigDecimal,这可能吗 (我正在使用支持来促进持久性)类似的东西应该可以工作 QUser $user = QUser.user; QTransaction $transaction = Q

鉴于以下类别:

class User {
    @OneToMany
    Set<Transaction> transactions
}

class Transaction {
     BigDecimal money;
}
作为奖励——如果将
货币
持久化为Joda货币类型,而不是BigDecimal,这可能吗


(我正在使用支持来促进持久性)

类似的东西应该可以工作

QUser $user = QUser.user;
QTransaction $transaction = QTransaction.transaction;
query().from($user)
    .innerJoin($user.transactions, $transaction) //inner join clause
    .where($user.eq(myUser))
    .singleResult($transaction.money.sum());
Querydsl尚未直接支持Joda Money,因此使用Joda Money的sum()方法将无法直接使用。

您的意思是singleResult(transaction.Money.sum())?啊!!谢谢你。请张贴作为答复,以便我可以接受。另外,是否可以使用JodaMoney而不是BigDecimal来执行此操作?
QUser $user = QUser.user;
QTransaction $transaction = QTransaction.transaction;
query().from($user)
    .innerJoin($user.transactions, $transaction) //inner join clause
    .where($user.eq(myUser))
    .singleResult($transaction.money.sum());