我有 HQL查询,它返回空结果集:
FROM MeetingSchedule ms JOIN FETCH ms.client JOIN FETCH ms.employees JOIN FETCH ms.parts
WHERE ms.meetingId = :meetingId;
如果我执行 SQL查询给我结果
select * from meeting_schedule where meeting_id = ?;
如何调试此查询?
空结果集的原因是什么?
PS:
SQL查询只是告诉您我的 MeetingSchedule 不为空,如果您愿意,我可以在此处发布生成的 SQL查询。< / p>
先谢谢你。
答案 0 :(得分:1)
这是两个不同的查询。在HQL中,您在SQL中使用JOINS而不是。比较EXACT相同查询的结果。答案是简单的 - 一些关系缺失导致连接失败,排除结果中的给定行。
您所显示的SQL的等效项是
FROM MeetingSchedule ms WHERE ms.meetingId = :meetingId;
我敢打赌,结果不会是空的。