问题描述
根据QueryDSL文档,(http://www.querydsl.com/static/querydsl/4.0.8/reference/html_single/#d0e2250)仅在生成的Q类中初始化路径的前两个级别,因此,如果对象A在{{ {1}},您不能做诸如在查询中进行查询这样的操作来从B内部访问A的ID。它们具有@Entity
注释,可用于那些我们需要更深层路径但文档非常简短,我不明白其用法。现在,当我尝试在应用程序中运行查询时,我收到“无效路径”异常。是否有人使用@JoinColumn
来解决类似于我的问题?
查询where子句(即QueryDSL中的子句)类似于@QueryInit
,其中a被“嵌入”在b内
我看到的异常是:
@QueryInit
我试图将其“翻译”为QueryDSL的查询看起来像这样:
a.id.eq(b.a.id)
解决方法
谓词最终只是:
a.amount.loe(
JPAExpressions.select(b.amount.sum()).from(b).where(a.id.eq(b.a.id)))
)