如何解决如何使用@QueryInit初始化QueryDSL查询中嵌入对象的属性的路径?
根据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)))
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。