如何解决如何加入 2 个一对多实体 jpql 查询
产品:id、名称、@manyToOne() categoryId、@manyToOne() BrandId
例如;
所以我可以创建查询 @Query("Select dtoPath.productDto(p.name,c.name) From Category c Inner Join c.products p")
但我想喜欢;
解决方法
您可以在 JPQL 中遍历单值关系,JPA 会处理连接:
SELECT dtoPath.productDto(p.name,p.categoryId.name,p.brandId.name)
FROM Product p
WHERE ...
如果您想要所有产品,只需省略 WHERE
子句。如果您想要某个类别中的所有产品,请尝试 WHERE p.categoryId=:category
(并传递整个 Category
实体)或 WHERE p.categoryId.id=:categoryId
(并仅传递类别 ID)。
(不相关的建议,不要将 Id
附加到关系属性 Product.categoryId
和 Product.brandId
的名称)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。