spring - JPA左连接不起作用?
问题描述
我有两个实体 Outlet 和 Report。它们在 Entity 类中没有连接。即使插座 ID 不存在,我也想要报告。以下是我正在编写的查询,但它的行为类似于内部联接。
@Query("Select rep,out.area.area_name from Report rep left join Outlet out on out.id=rep.outletId where rep.cDate in :dates")
List<Object[]> getReportsByMethodAndFormulaAndTimePeriods(@Param("dates") List<LocalDate> dates);
有任何想法吗?
解决方案
它不是 SQL,所以连接是由实体字段发生的。查询应该是这样的
@Query("Select rep,out.area.area_name from Report rep left join rep.outlet out where rep.cDate in :dates")
我假设 Report 实体有一个可为空的字段 Outlet 出口。
同样在你的情况下,out.area.area_name
如果没有相关的出口可能会失败
推荐阅读
- python - 可以应用什么正则表达式来获取以下响应的数据框
- entity-framework-6 - 实体框架中的存储过程从多个表返回列
- java - 如何将从s3下载的s3object写入文件
- react-native - 运行组件时渲染方法出错
- rust - 如何指定用户名和密码以从 Cargo 替代注册表下载 crate?
- php - 在ubuntu中安装php时无法添加ppa
- dask - Dask Distributed - 推荐的软件包版本
- devops - 如何在 ubuntu 中使用 Elastic Stack 监控 tomcat 日志
- flutter - 扑。如何使子小部件超越其父小部件?
- node.js - 如何使用导入的节点模块