如何使用Blaze-Persistence Querydsl的預測?
在下面的例子中,當c criteria.getEmail()給我帶來NullPointerException。 那么我怎樣才能克服NullPointerException以獲得更多的資訊呢?
cbf.create(em, WalletReportDto.class)
.fromSubquery(WalletCTE.class, "offerCTO") .from(TenantBalanceOffers.class, "tbo")
.bind("walletId") .select("tbo.wallet.id")
.bind("金額").select("SUM(tbo.金額)")
.groupBy("tbo.wallet.id") .end()
.joinOn(TenantWallet.class, "tw"/span>, JoinType.INNER)
.onExpression("offerCTO.walletId = tw.id")
.end() //
.select("MIN(tw.createdDate)", "fromtDate") .select("MAX(tw.createdDate)", "toDate")
.select("tw.customer.email", "email")
.select("sum(offerCTO.amount)").where("tw.customer.email").eq(c criteria.getEmail())
.groupBy("tw.id")
.getResultList()。
uj5u.com熱心網友回復:
你需要使用Blaze-Persistence Querydsl集成來使用Querydsl投影與Blaze-Persistence的查詢功能。
List<WalletReportDto> result = new BlazeJPAQuery<> (em, cbf)
.from(new BlazeJPAQuery<> ()
.from(QTenantBlanceOffers.tenantBlanceOffers)
.bind(QWalletCTE.walletCTE.walletId, QTenantBlanceOffers.tenantBlanceOffers.wallet.id)
.bind(QWalletCTE.walletCTE.amount, QTenantBlanceOffers.tenantBlanceOffers.amount.sum() )
, QWalletCTE.walletCTE)
.innerJoin(QTenantWallet.tenantWallet)
.on(QTenantWallet.tenantWallet.id.eq(QWalletCTE.walletCTE.walletId))
.transform(Projections.bean(
WalletReportDto.class,
QTenantWallet.tenantWallet.createdDate.min()。
QTenantWallet.tenantWallet.createdDate.max()。
QTenantWallet.tenantWallet.customer.email。
QWalletCTE.walletCTE.id
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/324176.html
標籤:
上一篇:JPA本地查詢。不能選擇特定的列
